1
votes

I have a new VM in the cloud to test some of the VSTS pipeline features. I have 3 agents installed, 1 on my laptop, 1 on prem, 1 in the cloud. The cloud box only ever gets delivered "Release" jobs, all the "Build" jobs get sent to the other boxes. If I remove my laptop and the OnPrem server, build jobs just get queued indefinitely.

What makes a agent a "build" agent vs "release" agent. I followed the same steps on all the boxes. Does I have to have Visual Studio or some sort of additional software installed on the cloud box so it can become a "build" agent instead of "release"?

1

1 Answers

1
votes

The jobs get assigned (or not) according to the capabilities needed for the particular job. Some of the capabilities get scanned automatically by the agent service, but you can as well add manually some. Via the Agent Pools you can see the capabilities of an agent and can add or remove manually certain items: Agent Capabilities

The build definition can have some capabilities defined that need to be available on a possible agent to be run. There as well you might get some things automatically depending on the tasks/configuration you selected and you could add manually required capabilities to run a build of a specified definition. To see those, on a build definition go to Options and see under Demands:

Build Demands

For the release you can see the demands on each "Agent Phase" in the Environments: enter image description here

As your build does not get run by one agent, check the Build Definition what demands it has and then make sure you either install the proper software that is needed to run that job (I think restarting the agent-service will "rediscover" capabilities) or add a possible custom capability if this is needed by your build definition.