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:
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.
tip
You can modify these parameters when setting up the project or build configuration, or at any moment you need. The changes you make to the build configurations are applied on the fly.
Click the Add requirement for a property link, type the agent.name property, 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.name property and set the starts with condition and the linux value.
tip
You can also use the condition contains, however, it may include more than one specific build agent (for example, a build configuration with a requirement agent.namecontainsAgent10, will run on agents named Agent10, Agent10a, and Agent10b).