Is it possible to configure TeamCity to run personal builds on certain agents?

1.6k Views Asked by At

We have a particular build configuration which is required to run a lot of personal builds without long delays. Is it possible to dedicate particular agents to just running personal builds? For example, if we have 5 agents is it possible to have all 5 able to run personal builds, but only 3 of them to get fired by the VCS trigger? The only way I can see to do this would be to create 2 agents pools. The problem with this approach is that you have to specify particular projects for each pool which would involve duplicating build configurations.

Currently personal builds are configured with a higher priority in the build queue, but this doesn't help prevent delays when all agents are running (slow) integration tests. Ideally these integration tests would be queued up until one of the 3 build agents able to run them was free. There are a number of workarounds to help reduce the impact, it would be good to know whether it is actually possible to dedicate agents to remote builds.

We are running the latest version of TeamCity as of Jan 2013 which is 7.1.3.

1

There are 1 best solutions below

2
On

You can achieve this by specifying agent requirements. Pick a parameter that differentiates the 3 agents you want triggered automatically by VCS from the other 2 agents. Add it as an agent requirement in every build configuration except the one you want to run on all 5 agents. This way, you'll restrict the integration tests to 3 agents and free up the remaining 2 agents to run only the configuration requiring a lot of personal builds.

Also, your suggested solution with agent pools many not seem too bad if you use build configuration templates.