snippetMinor
Azure DevOps - how to create a 2nd Microsoft-hosted Agent Pool
Viewed 0 times
createagentmicrosofthostedazurehowpooldevops2nd
Problem
I am using Azure DevOps.
I have 5 Microsoft-hosted agents. And 10 pipelines.
One pipeline in particular can get a bit grabby, so I want to restrict it to use just 2 agents.
But I want my other 9 pipelines to have access to the 3 remaining agents.
I figure Agent Pools is the right way to solve this. By default, Azure DevOps sets us up with 1 single "Azure Pipelines" pool with our self-hosted agents. I would like to split this into 2 pools.
However, when I go to "create new pool" I only get the option to add "self-hosted" agents.
How do I create a new Agent Pool with some of my existing Microsoft-hosted agents?
I have 5 Microsoft-hosted agents. And 10 pipelines.
One pipeline in particular can get a bit grabby, so I want to restrict it to use just 2 agents.
But I want my other 9 pipelines to have access to the 3 remaining agents.
I figure Agent Pools is the right way to solve this. By default, Azure DevOps sets us up with 1 single "Azure Pipelines" pool with our self-hosted agents. I would like to split this into 2 pools.
However, when I go to "create new pool" I only get the option to add "self-hosted" agents.
How do I create a new Agent Pool with some of my existing Microsoft-hosted agents?
Solution
This is a good question because you would assume you could do what you are after, but as far as I know you can't yet. From the docs on sharing of parallel jobs across projects in a collection
Currently, there isn't a way to partition or dedicate parallel job capacity to a specific project or agent pool.
I considered trying to do buckets via capabilities on a subset of my agents, and then companion demands in the pipelines, but that will not work either because hosted pipelines don't work with demands.
In my case we had some greedy pipelines that fan out into multiple parallel jobs, that we had to update to run sequentially with
Hopefully this feature gets added soon. I will look to see if I can find one to vote up on the developer community forums. I am also interested in other ideas on how to solve for this issue!
Edit found a feature vote on it here
Currently, there isn't a way to partition or dedicate parallel job capacity to a specific project or agent pool.
I considered trying to do buckets via capabilities on a subset of my agents, and then companion demands in the pipelines, but that will not work either because hosted pipelines don't work with demands.
In my case we had some greedy pipelines that fan out into multiple parallel jobs, that we had to update to run sequentially with
dependsOn for each job. I think if your case is relatively simple you could potentially check the queue length or number of running builds in a first stage but that could get complex and might be tough to scale. Hopefully this feature gets added soon. I will look to see if I can find one to vote up on the developer community forums. I am also interested in other ideas on how to solve for this issue!
Edit found a feature vote on it here
Context
StackExchange DevOps Q#10642, answer score: 1
Revisions (0)
No revisions yet.