Вы можете попробовать добавить Invoke REST API проверку в пуле агентов. Остальные API получат предыдущую сборку и оценят ее статус. Поэтому, когда новая сборка ставится в очередь с целью нахождения пула агентов. Будет вызван API REST Invoke, эта новая сборка начнется только тогда, когда ответ остальных API будет оценен как true.
Пожалуйста, проверьте следующие шаги:
1, создать сервисное подключение к вашей azure организации devops.
Go Настройка проекта -> Сервисные подключения в разделе "Конвейеры" -> Нажмите новое сервисное соединение -> выберите Generi c, чтобы создать универсальное c сервисное соединение. ![enter image description here](https://i.stack.imgur.com/KGnok.png)
Затем отредактируйте тип подключения службы, как показано на снимке экрана ниже. Отметьте здесь , чтобы получить токен личного доступа.
![enter image description here](https://i.stack.imgur.com/MR9AE.png)
2, добавить Invoke REST API проверить пул агентов **.
Go Настройка проекта -> Пулы агентов в разделе "Конвейеры" -> Выберите пул агентов - -> Нажмите 3 точки -> Нажмите Одобрения и проверки .
.
3, нажмите « + » -> Выбрать Вызвать REST API
![enter image description here](https://i.stack.imgur.com/FRZVe.png)
4, Отредактируйте Invokde Rest API
Выберите универсальное c сервисное соединение с вашими azure devops, созданными на первом шаге.
Установите следующие поля:
Суффикс URL и параметры : _apis/build/builds?definitions=the DefinitionId of your pipeline&$top=2&queryOrder=queueTimeDescending&api-version=5.1
Успех критерии : eq(root['value'][1]['status'], 'completed')
пожалуйста, проверьте здесь для получения дополнительной информации о сборке остальные API.
![enter image description here](https://i.stack.imgur.com/8W3Aq.png)
Примечание. Поскольку проверка API Invoke Rest настроена на область действия пула агентов. Это может повлиять на другие конвейеры, нацеленные на этот пул агентов. Например, если желаемый конвейер yaml ожидает завершения предыдущего запуска. И теперь другой конвейер, нацеленный на этот же пул агентов, запущен, ему придется ждать завершения предыдущего запуска желаемого конвейера yaml.