Как я могу заблокировать завершение PR до успешного выпуска в Azure DevOps?

#azure-devops

#azure-devops

Вопрос:

Моя цель — заблокировать завершение PR до тех пор, пока изменение не пройдет через конвейер CI и не будет успешно развернуто в конвейере тестового выпуска. Кроме того, я хочу контролировать, какие сборки конвейера CI входят в конвейер выпуска, поэтому записи выпуска не добавляются при каждой фиксации PR.

В настоящее время у меня настроен и работает конвейер CI, и у меня есть конвейер выпуска, работающий с добавлениями вручную.

Чтобы решить мою проблему, я попытался изменить настройки артефактов сборки конвейеров выпуска, чтобы использовать триггеры запросов на извлечение для определенной целевой ветви. Затем в условиях предварительного развертывания этапа конвейера выпуска я выбрал триггер «После выпуска» с включенным развертыванием запроса на извлечение. Однако я не вижу автоматически созданных выпусков.

Возможно ли то, что я хочу? Существуют ли другие шаги для выполнения этого?

Ответ №1:

Как я могу заблокировать завершение PR до успешного выпуска в Azure DevOps?

Для достижения этой цели вы можете добавить конвейер выпуска в качестве проверки состояния в политиках ветвей:

введите описание изображения здесь

Подробные шаги:

  1. Добавьте конвейер CI в качестве проверки сборки в политиках ветвей для конкретной целевой ветви.
  2. Выполните те же настройки конвейера выпуска, что и вы, включите триггеры запроса на извлечение для конкретной целевой ветви и включите развертывание запроса на извлечение.
  3. Добавьте конвейер выпуска в качестве проверки состояния в политиках ветвей для конкретной целевой ветви.

Примечание:

  1. Если вы не смогли увидеть конвейер выпуска в списке при добавлении проверок состояния:

    введите описание изображения здесь

    Пожалуйста, попробуйте изменить тип источника выпуска с артефактов сборки на репозитории Azure devops для конкретной целевой ветви, а также включить триггеры запросов на извлечение для конкретной целевой ветви. Затем создайте запрос на извлечение, чтобы запустить этот конвейер выпуска. После этого мы обновим политики ветвей, мы увидим конвейер выпуска.

    введите описание изображения здесь

    Теперь мы меняем тип источника выпуска обратно, чтобы создавать артефакты, и включаем триггеры запроса на извлечение для конкретной целевой ветви и разрешаем развертывание запроса на извлечение.

  2. Причина, по которой вы не видели автоматически созданных выпусков, может заключаться в том, что ваш конвейер сборки не запускается PR (возможно, вручную).

Результат моего теста :

введите описание изображения здесь

Если я не настрою конвейер выпуска в качестве проверки состояния, просто включите триггеры запроса на извлечение и развертывание запроса на извлечение, он будет установлен как необязательный, он не будет блокировать завершение PR:

введите описание изображения здесь

Комментарии:

1. Спасибо за ответ, но я все еще не вижу конвейер выпуска в раскрывающемся списке политики состояния.