10

I'm in the process of setting out Azure Devops for our organisation and although I have got things working to an extent, I still dont understand a couple of concepts that I think I should.

I have set up a Deployment Pool (Organization settings > Deployment Pools) and used the script to install and configure the Agents on my Dev, Test and Prod servers, and have been successfully able to deploy code to them

I have been able to build my projects using the Azure Hosted option for now, but I would really like to use the locally hosted option, but when looking at the Agent Pools(Organization settings > Agent Pools) I can only see my Production server and it wont let me use that build with. I clicked the button to "Download Agent" but it downloads the agent I already set up in the Deployment Pool stage using the same powershell command .config.cmd command

So as far as I can tell, there is no difference between an agent in an "Agent pool" vs a "Deployment pool", but I'm obviously missing something here as I cannot see the agent in the Agent pool.

Can anyone help me to understand what I might have missed, and why there are two totally different ways of downloading the same agent?

Many thanks!

Nick
  • 461
  • 5
  • 17

1 Answers1

9

Deployment pool are for deployment groups are a special agent configuration that are used specifically in release pipelines. They give some additional options for your release pipelines beyond the regular agents.

Deployment groups:

  • Specify the security context and runtime targets for the agents. As you create a deployment group, you add users and give them appropriate permissions to administer, manage, view, and use the group.

  • Let you view live logs for each server as a deployment takes place, and download logs for all servers to track your deployments down to individual machines.

  • Enable you to use machine tags to limit deployment to specific sets of target servers

It leverages the same pipeline agent but you are just specifying different configuration for the initialization. If you navigate to the Agent Pool page, there is a download link there with the configuration for setting up an agent that you can leverage in a build pipeline or in a release pipeline when you use an Agent Phase instead of a Deployment Group phase.

Community
  • 1
  • 1
Matt
  • 3,658
  • 3
  • 14
  • 27
  • Thanks Matt, that helps a lot to explain the situation. Does this mean I would need to download the Agent again to set it up as a build agent on the server? Would there be any conflicts with my existing deployment agents? – Nick Jan 14 '19 at 07:46
  • 3
    You can have multiple agents running on a server, so shouldn't impact your deployment groups. You don't even really need to run their provided command, as long as you unzip the agent to a folder and run the .\config and specify the values. If you want multiple agents on a server you are going to have to give them different agent names anyway, so the default install command they provide won't work since it assumes the agent name is the server name. – Matt Jan 14 '19 at 14:04
  • Alas, DEployment Pools do not seem to show up using the REst API.... – David V. Corbin Oct 16 '20 at 17:24
  • 1
    @DavidV.Corbin It is a different set of [API](https://learn.microsoft.com/en-us/rest/api/azure/devops/distributedtask/deploymentgroups/list?view=azure-devops-rest-6.0) for deployment groups. – Matt Oct 16 '20 at 17:28
  • @Matt -- I am not asking about Deployment GROUPS.... I am asking about Deployment POOLS. I need to maintain the POOLS (not the Groups that sit on top of them). – David V. Corbin Oct 16 '20 at 17:32
  • 1
    You are in luck, there is an [API](https://learn.microsoft.com/en-us/rest/api/azure/devops/distributedtask/pools/get%20agent%20pools?view=azure-devops-rest-6.0) for that as well. – Matt Oct 16 '20 at 17:35