Как не ставить в очередь новую сборку, если нет доступных агентов

#tfs #azure-devops #azure-pipelines

#tfs #azure-devops #azure-конвейеры

Вопрос:

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

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

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

Ответ №1:

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

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

Более подробно, пожалуйста, ознакомьтесь с взаимодействием агента с Azure Pipelines