TFS 2018: How to share deployment group

2019-08-08 15:17发布

问题:

I am using TFS 2018. I successfully created a "Hello World" MVC and SQL Server project. I was able to build and release the project to the target server.

To make sure I had the method down correctly, I created a second "Hello World" MVC project. I was able to build it successfully. The only problem was that when I went to the "Deployment Groups", I didn't see anything there, even though the target server already has a Deployment Machine running.

I figured the problem is that I need to share the Deployment Machine. So I read the instructions for Deployment Groups here:

Add a deployment pool and group to another project

To manage a deployment pool, or to add an existing deployment pool and the groups it contains to another project, choose the Manage link in the Agent Pool section of the Deployment Group page. In the Deployment Pools page, select the projects for which you want the deployment group to be available, then save the changes.

When you navigate to the Deployment Groups page in the target project(s), you will see the deployment group you added and you can assign project-specific machine tags as required.

The problem is that while I have a "Deployment Group" page, I do not see any "Agent Pool", "Manage", or Deployment Group". (See screenshots immediately below).

Am I missing something obvious? Is this a case of the instructions really being meant for VSTS and/or Azure, but not TFS?

  • I selected the deployment group and see the machine that I registered on my target server.

  • Even when expanding the machine, I don't see any options to share.

In summary, what I do have to do in order to share this Deployment Machine, so that I can release different projects to the same server?

回答1:

At the collection level, we do have a "Deployment Pool (similar to Agent Pools)". However, it is only available in VSTS for now.

Can you tell me if this feature will be integrated in the TFS 2018's next update ? and when this update should be available ?

We are hoping to get it in the next update in TFS. Tentatively in TFS 2018 Update 2.

This feature seems will come up on TFS 2018 update2, details please refer this link: Why are deployment groups project specific?



回答2:

Sharing of deployment group targets feature will be available with TFS 2018 Update 2. On earlier version, you have an option of installing multiple agents. Please note, multiple agents can run the deployments in parallel and can overstep on each other for shared resources.



回答3:

If upgrading to update 2 is not a possibility, you can modify your registration script to make the computer name dynamic:

modify this: --deploymentgroup --agent $env:COMPUTERNAME --runasservice

with this: --deploymentgroup --agent $env:COMPUTERNAME-$destFolder --runasservice

$destFolder basically makes the agent name unique, allowing you to register the same machine in multiple deployment groups.

If you get a message saying The request was aborted: Could not create SSL/TLS secure channel

run the following command before provisioning.

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12



标签: tfs