Ожидание завершения задания "x" в конвейере "1" перед запуском задания "x" в конвейере "2" (Azure DevOps)

Мы используем SonarQube для тестов, и он использует один токен, пока работает один конвейер, все работает нормально, но если я запускаю разные конвейеры (все они имеют тесты E2E в качестве конечных заданий), все они терпят неудачу, потому что они продолжают вызывать токен, срок действия которого истекает, как только он используется одним конвейером (заданием). Можно ли сделать так, чтобы все конвейеры приостанавливались на задании «x», если они обнаруживают, что какой-то конвейер уже выполняет задание «x»? Задания имеют одинаковые имена во всех конвейерах. Да, я знаю, что это решается простым запуском одного конвейера за раз, но это не то, чего хотят мои разработчики.

Когда задание нацелено на среду, вы можете контролировать, сколько заданий выполняется в этой среде одновременно. Это немного взломать, но это сработает. Ограничение этой работы одним агентом, из которых есть только 1, также сработает.

jessehouwing 24.11.2022 13:56

Привет @sneedster, поможет ли вам приведенный ниже ответ, чтобы установить требования для работы вашего агента на конкретном агенте с собственным хостингом? Если это поможет, просто напомните о примите ответ.

Suki Ji-MSFT 30.11.2022 06:31
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
191
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Таким образом, задания агента будут выполняться только на этом агенте. Сборка будет выполняться одна за другой, пока предыдущая не завершится.

Кроме того, вы можете контролировать выполнение задания, определяя утверждения и проверки. Используя Вызвать проверку REST API , чтобы выполнить вызов REST API, например, Получает список сборок и определяет критерии успеха, поскольку количество сборок равно нулю, затем начинается следующая сборка.

Другие вопросы по теме