Я не думаю, что это возможно. Контроллер может сбалансировать сборку, на которой когда-либо доступны агенты и которая соответствует шаблону агента сборки (как определено в определении сборки). Если у вас нет серьезной загрузки сборок, я бы использовал один контроллер на коллекцию и больше агентов.
Контроллер выполняет очень мало работы по сравнению с агентом (который выполняет компиляцию, тестирование и развертывание).
Для ваших случаев я бы попробовал что-то вроде:
Контроллер
- Gated Agent 1 (on \\ sv-BuildAgent1)
- Gated Agent 2 (on \\ sv-BuildAgent2)
- Агент QA ... (on \\ sv-BuildAgent3)
- Другие агенты ... (где угодно)
- ... и т.д ...
Теперь в каждом определении Gated Build вы должны установить для агента сборки значение « Gated Agent *» (оно находится на вкладке Process в 3. Advanced -> Настройки агента -> Фильтр имен .). Теперь будет выбран любой агент, который начинается с «Gated Agent». Вы можете легко масштабировать это число на столько агентов, сколько вам нужно.
EDIT:
Вы также можете поместить теги в Build Agent для достижения аналогичного результата. Это может быть проще в настройке. Вы определяете теги в свойствах агента сборки и настраиваете их определения в том же разделе, что и фильтр имен (см. Выше).