Я собираюсь сделать некоторые предположения о вашей среде, если вы обновите вопрос, то я обновлю свой ответ.Также была бы полезна некоторая информация о размере вашей команды
Предположение № 1: у вас есть один сервер, который выступает в качестве сервера приложений TFS и в качестве контроллера сборки и агента сборки.
Предположение № 2: этот единственный сервер имеет 4 ядра процессора.
В этом случае я бы предложил, чтобы в качестве контроллера / агента вы использовали хотя бы еще одну машину (это может бытьВМ).Во-первых, для производительности, а во-вторых, для безопасности.Служба сборки запускается от имени администратора, и если кто-то создает сборку, которая форматирует диск или удаляет реестр, вы просто потеряли свой сервер TFS!
Контроллер сборки может быть связан только с 1 Team Project Collection.У вас может быть столько контроллеров / агентов сборки, сколько вы хотите связать с коллекцией, но они не могут быть общими для всех коллекций.
У вас может быть столько агентов сборки, сколько у вас ядер, так что 4-ядерная машина может разместить до4 агента сборки (вы должны увидеть эту опцию при установке команды build на сервере) Конечно, это повлияет на производительность, так как каждый контроллер будет совместно использовать ОЗУ и диск.
Вы также можете настроитьнесколько контроллеров сборки на одной машине, но это не поддерживается Microsoft и считается хаком. Джим Лэм писал об этом и Марк Николс написал замечательное руководство
Итак, подведем итог.Если вы используете один 4-х ядерный сервер, вы можете разместить до 4 агентов сборки, а взломать такое же количество контроллеров.Это может удовлетворить ваши потребности.Это немного взломать, но это должно решить вашу проблему.
Правильный (но более дорогой) способ сделать это - создать виртуальную машину для каждого контроллера, а затем отдельные машины для самих агентов сборки.Например, у нас есть 2 коллекции командных проектов.2 виртуальных машины для контроллеров сборки (по одной на коллекцию), эти машины не должны быть настолько мощными, поскольку контроллер не выполняет много работы.У нас есть 16 четырехъядерных машин для самих агентов сборки.На данный момент на каждом компьютере мы размещаем только 2 агента, поэтому в каждом наборе контроллеров / командных проектов есть 16 агентов сборки.Хотя мы иногда перемещаем агентов между контроллерами, если в этом есть необходимость.