TFS 2010 Build: особенности использования пула агентов для распараллеливания сборки

Недавно я обратил внимание на один интересный эффект изменения параметра “Maximum Wait Agent Reservation Time” в описании build workflow. По умолчанию, этот параметр имеет значение 4 часа. Скорее всего, коллеги из Редмонда, рассчитывают на то, что среднестатистическая сборка происходит минут за 20. Ну, максимум за час. Конечно, для серьёзных больших проектов, особенно, если в них есть ещё и C++ код, это не так.

Сборка одного из моих проектов занимает от 1-го до 3-х часов. Несмотря на то, что сборкой занимаются несколько агентов, для gated check-in-ов иметь тройку – другою сборок в очереди, является вполне нормальным делом. В какой то момент я стал замечать, что билды иногда “отваливаются” с наступлением таймаута ожидания свободного агента для сборки.

Ну чтоже, подумал я, куда копать – известно. Пошёл и поставил значение вышеуказанного параметра в “00:00:00”. Вполне валидное значение, ведь комментарий к параметру гласит — “The default value is zero which means there is no timeout.”

Ну, как говорится, улучшил стабильность сборки, и забыл. Каково же было моё удивление, когда через несколько дней я заметил странный эффект – несмотря на доступность нескольких агентов, сборка идёт только на одном из них. Билдеры могут меняться, но в один момент времени идёт строго одна сборка. Чудеса, да и только!

Проверил настройки котроллера сборок, и убедился, что ему разрешено одновременно делать столько сборок, сколько имеется в наличии агентов. Стал вспоминать, что я улучшал в последнее время. Буквально наудачу вернул таймаут ожидания доступности агента… и, о чудо, для сборки стали использоваться все доступные агенты.

Да, недаром разработчики поставили пресловутые 4 часа по умолчанию вместо объявленного нуля!

Так что, теперь там у нас прописаны 23 часа…

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: