Как построить очередь на сервере сборки TFS (контроллере сборки) с самой короткой очередью? Как настроить балансировку нагрузки на контроллерах сборки? - PullRequest
1 голос
/ 28 ноября 2011

У нас есть два сервера сборки TFS (контроллеры сборки), доступные для нашего приложения. Сборки запускаются в соответствии с настройкой в ​​определении сборки. Каждая сборка настраивается через страницу «Build Defaults» для конкретного контроллера сборки.

Допустим, у нас есть закрытая регистрация. Время постройки 30 минут, 3 заезда производится в час. Обычно эти 3 встроенных сборок регистрации запускаются на контроллере 1 сборки, другой контроллер 2 сборки находится в режиме ожидания.

Как запустить сборку с закрытой регистрацией на контроллере сборки2, если используется сборка контроллера1?

Можно ли построить очередь на сервере сборки с самой короткой очередью сборки? Как настроить балансировку нагрузки на контроллерах сборки?

EDIT: Я нашел возможное решение для TFS2008 здесь . Я ищу решение для работы TFS2010

1 Ответ

6 голосов
/ 28 ноября 2011

Я не думаю, что это возможно. Контроллер может сбалансировать сборку, на которой когда-либо доступны агенты и которая соответствует шаблону агента сборки (как определено в определении сборки). Если у вас нет серьезной загрузки сборок, я бы использовал один контроллер на коллекцию и больше агентов. Контроллер выполняет очень мало работы по сравнению с агентом (который выполняет компиляцию, тестирование и развертывание).

TFS Topology

Для ваших случаев я бы попробовал что-то вроде:

Контроллер

  • 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 для достижения аналогичного результата. Это может быть проще в настройке. Вы определяете теги в свойствах агента сборки и настраиваете их определения в том же разделе, что и фильтр имен (см. Выше).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...