Мы используем SonarQube для тестов, и он использует один токен, пока работает один конвейер, все работает нормально, но если я запускаю разные конвейеры (все они имеют тесты E2E в качестве конечных заданий), все они терпят неудачу, потому что они продолжают вызывать токен, срок действия которого истекает, как только он используется одним конвейером (заданием). Можно ли сделать так, чтобы все конвейеры приостанавливались на задании «x», если они обнаруживают, что какой-то конвейер уже выполняет задание «x»? Задания имеют одинаковые имена во всех конвейерах. Да, я знаю, что это решается простым запуском одного конвейера за раз, но это не то, чего хотят мои разработчики.
Привет @sneedster, поможет ли вам приведенный ниже ответ, чтобы установить требования для работы вашего агента на конкретном агенте с собственным хостингом? Если это поможет, просто напомните о примите ответ.
Лучший способ запускать задания одно за другим — установить требования для выполнения задания вашего агента на конкретном локальном агенте. Как и ниже, установите определяемые пользователем возможности для локального агента, а затем потребуйте запуска на агенте, установив требования в задании агента.
Таким образом, задания агента будут выполняться только на этом агенте. Сборка будет выполняться одна за другой, пока предыдущая не завершится.
Кроме того, вы можете контролировать выполнение задания, определяя утверждения и проверки. Используя Вызвать проверку REST API , чтобы выполнить вызов REST API, например, Получает список сборок и определяет критерии успеха, поскольку количество сборок равно нулю, затем начинается следующая сборка.
Когда задание нацелено на среду, вы можете контролировать, сколько заданий выполняется в этой среде одновременно. Это немного взломать, но это сработает. Ограничение этой работы одним агентом, из которых есть только 1, также сработает.