Невозможно инициировать освобождение запроса извлечения в DevOps Azure. - PullRequest
0 голосов
/ 26 июня 2019

Я настроил триггер освобождения запроса на извлечение следующим образом.

Я хочу развернуть артефакты из ветви VerifyApiTestEnvironment всякий раз, когда запрос на извлечение в эту ветку успешно завершен.

enter image description here

Вот так выглядят мои артефакты.

enter image description here

Так выглядит мой триггер CD.

enter image description here

Вот так выглядят мои условия перед развертыванием.

enter image description here

Вот так выглядит мой экран политики.

enter image description here

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

Каждый раз, когда я фиксирую свои изменения в featureBranch, а затем я открываю запрос на извлечение для его слияния с веткой VerifyApiTestEnvironment.Я ожидаю запуска релиза, а затем развертывания каждый раз, когда я делаю это, но релиз не запускается.

Я что-то упустил из-за настройки триггеров PR?

1 Ответ

3 голосов
/ 27 июня 2019

У вашей настройки есть некоторые проблемы. Как сказал Даниэль, он используется для развертывания с созданным PR. Кроме того, если вы хотите выполнить развертывание сразу после завершения PR, источником этого выпуска должно быть Репозиторий вместо конвейера сборки.

Итак, сначала вам нужно изменить источник выпуска на Azure Repository :

enter image description here

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

enter image description here

Кроме того, вам нужно установить фильтр ветвлений, иначе развертывание будет запущено независимо от того, какая ветвь изменена. Здесь я установил просто слияние с главной веткой (целевая ветвь PR - главная) может запустить этот CD.

enter image description here

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

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

Для некоторых конфигураций политики политика сборки используется для установки триггера сборки, а политика состояния используется для запуска выпуска.

Таким образом, в соответствии с вашим параметром политики, он сначала запускает сборку, а затем сборка запускает релиз. Он не запускает развертывание сразу после завершения PR.

enter image description here

...