Azure DevOps Build Pipeline срабатывает по запросу на вытягивание

У меня есть проект .Net, в котором используются конвейеры Azure DevOps. Настройка заключается в том, что у меня есть конвейер сборки, который создает артефакт. Затем артефакт автоматически публикуется через конвейер выпуска. Это работает отлично.

Проблема заключается в том, что после того, как я включил проверку сборки политики, запросы на вытягивание теперь запускают конвейер сборки, который затем запускает конвейер выпуска. Таким образом, каждый запрос на включение публикуется. Шаг сборки правильный, но релиза быть не должно. Триггер перед развертыванием «Развертывание запроса на вытягивание» отключен.

Что я сделал, чтобы попытаться решить эту проблему, так это то, что я добавил условие на шаг сборки, на котором создается артефакт. Таким образом, запросы на вытягивание не создают артефакты, в отличие от слияний. Это также работает по назначению. Тем не менее, выпускной канал по-прежнему срабатывает, но на этот раз без артефакта (который выходит из строя).

TLDR:
Триггеры канала выпуска для запросов на вытягивание, настройки для этого поведения отключены. WTD?

Мои настройки CI/CD:

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
2
0
6 815
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

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

  1. Конвейер для проверки ваших запросов на вытягивание без связанных выпусков.
  2. Конвейер CI, запускающий выпуск.

Кроме того, я думаю, что это ошибка. Потому что триггер PR не включен. Давайте проверим комментарии сообщества разработчиков: https://developercommunity.visualstudio.com/content/problem/1292039/release-pipelines-ignore-pull-request-settings.html

Здесь мы настроили конвейеры сборки, привязанные к файлам YAML, хранящимся в репозитории, вместе с исходным кодом. И конвейеры выпуска имеют свой источник, настроенный для каждого из конвейеров сборки.

Это часть основной сборки:

trigger:
  batch: false
  branches:
    include:
    - master

И это часть сборки запроса на слияние:

trigger: none

pr:
- master

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

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