Assigning Build Configurations to Specific Build Agents
It is sometimes necessary to manage the Build Agents' workload more effectively. For example, if the time-consuming performance tests are run, the Build Agents with low hardware resources may slow down. As a result, more builds will enter the build queue, and the feedback loop can become longer than desired. To avoid such situation, you can:
Establish a run configuration policy for an agent, which defines the build configurations to run on this agent.
Define special Agent Requirements, to restrict the pool of agents, on which a build configuration can run the builds. These requirements are:
Build Agent name. If the name of a build agent is made a requirement, the build configuration will run builds on this agent only.
Build Agent property. If a certain property, for example, a capability to run builds of a certain configuration or an operating system, is made a requirement, the build configuration will run builds on the agents that meet this requirement.
You could split agents into pools. Each project could be associated to a number of pools. See Agent Pools.
Establishing a Run Configuration Policy
To establish a Build Agent's run configuration policy:
Click the Agents and select the desired build agent.
Click the Compatible Configurations tab.
Select Run assigned configurations only.
Click the Assign configurations button and tick the desired build configurations names to run on the build agent.
Making Build Agent Name and Property a Build Configuration Requirement
To make a build configuration run the builds on a build agent with the specified name and properties:
Click Administration and select the desired build configuration.
Click Agent Requirements (see Configuring Agent Requirements).
Click the Add requirement for a property link, type the
agent.nameproperty, set its condition to equals and specify the build agent's name.
Click the Add requirement for a property link and add the required property, condition, and value. For example, if you have several Linux-only builds, you can add the
teamcity.agent.jvm.os.nameproperty and set the starts with condition and the