Instead of having one common set of agents, you can break them into separate groups called agent pools. A pool is a named set of agents to which you can assign projects.
- An agent can belong to one pool only.
- A project can use several pools for its builds.
Project builds can be run only on build agents from pools assigned to the project. By default, all newly authorized agents are included into the Default pool.
With the help of agent pools you can bind specific agents to specific projects. Also with agent pools it is easier to calculate required agents capacity.
You can find all agent pools configured in TeamCity at the Agents | Pools tab. To be able to add\remove pools, you need to have the "Manage agent pools" permission granted to the system administrator and agent manager roles in the default TeamCity per-project authorization mode.
Another permission, "Change agent pools associated with project", by default granted to the users assigned a project administrator role, allows users to assign and un-assign projects and agents to/from pools. A user can assign and un-assign projects and agents from a pool only if he/she has "Change agent pools associated with project" for all projects associated with the pool.
To create a new agent pool, you only need to specify its name; to populate it with agents, just click "Assign agents" and select them from a list. Since an agent can belong to one pool only, assigning it to a pool will remove it from its previous pool. If this may cause compatibility problems, TeamCity will give you a warning.
When you have configured agent pools, you can:
- Filter the build queue by pools.
- Use grouping by pool on the Agent Matrix and Agent Statistics pages.