Как не ставить в очередь новую сборку, если нет доступных агентов - PullRequest
2 голосов
/ 05 марта 2019

Мне интересно, есть ли способ в TFS запретить новым сборкам ставить в очередь, если в сети нет агентов для запуска.

Я спрашиваю об этом, потому что у нас есть работа по сборке, которая начинается каждые 15 минут. Время от времени наши тестовые агенты отключаются и становятся недоступными. Это приводит к тому, что куча заданий на сборку складывается в очередь.

Есть ли способ указать автоматическому определению сборки TFS не запускаться, если все агенты отключены? Я знаю, что мы можем ограничить количество времени, которое можно запустить, прежде чем он остановится, но это работает только после его запуска. Если он не может быть запущен из-за отсутствия доступных агентов, тогда этот охранник не будет работать, и очередь будет заархивирована.

1 Ответ

1 голос
/ 07 марта 2019

Извините, нет способа сделать это. Когда задание добавляется в очередь, агент компоновки загружает токен OAuth прослушивателя и использует его для прослушивания очереди заданий.

Периодически агент проверяет, не отправлен ли новый запрос задания для него в очередь заданий в конвейерах Azure / TFS. Когда задание доступно, агент загружает задание, а также токен OAuth для задания. Этот токен создается Azure Pipelines / TFS для идентификатора области, указанного в конвейере. Этот токен является недолговечным и используется агентом для доступа к ресурсам (например, к исходному коду) или для изменения ресурсов (например, для загрузки результатов тестирования) в конвейеры Azure или TFS в рамках этого задания.

Подробнее смотрите на связи агента с Azure Pipelines

...