Выбор правильных артефактов сборки для выпуска запроса на извлечение, объединяющий 4 разных артефакта сборки

#azure-devops #azure-pipelines #azure-pipelines-release-pipeline #azure-artifacts #build-triggers

#azure-devops #azure-конвейеры #azure-pipelines-release-pipeline #azure-артефакты #сборка-триггеры

Вопрос:

Итак, у меня есть приложение, разделенное на 4 разных репозитория, все из которых имеют собственную сборку конвейера Azure. Но артефакты этих 4 сборок развертываются в одном выпуске (в одном приложении).

При возврате (слиянии запросов на извлечение) в нашей ветке разработки в одном из репозиториев запускается сборка для этого репозитория. Когда эта сборка завершается, запускается выпуск с недавно завершенным артефактом сборки 3 более старых артефакта на основе «Последнего из ветви по умолчанию в конвейере сборки с тегами» из других репозиториев. Поэтому всегда самые последние сборки из ветки разработки (dev).

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

Я выполнил конвейер выпуска (фактическое развертывание среды), но не уверен, как правильно выбрать артефакты. После сборки в ветке запроса на извлечение мне нужно запустить выпуск с артефактами запроса на извлечение из этой запускающей сборки последние артефакты ветки разработки из других 3 сборок.

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

Как я могу настроить этот автоматический триггер? Могу ли я использовать теги? Или я думаю об этом неправильно?

Редактировать

В итоге я настроил это, используя 4 разных этапа, которые имеют разные фильтры артефактов. Этап для каждого артефакта. Для этого артефакта мы разрешаем dev_ *, а все остальные артефакты должны быть от dev_. Таким образом, для каждого триггера артефакта запускается правильный этап, выбирается ветвь функций и ветвь разработки для других.

Это не идеальное решение, поскольку оно требует некоторого дублирования кода, но с помощью групп задач я смог свести это к минимуму. Но пока я не вижу лучшего решения. 3 этапа в конвейерах Azure

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

1. Вы можете использовать «Последние из определенной ветки» и выбрать ветку PR.

2. Точно, когда я делаю это вручную, я могу. Но есть ли способ сделать это автоматически? После сборки запустите выпуск с определенным артефактом ветви для этой сборки и артефактами ветви разработки для других сборок

3. @ErikSteinebach. На прошлой неделе у меня была именно эта проблема, но я не смог добиться значительного прогресса, даже с помощью твита #LoWCDA ( twitter.com/samsmithnz/status/1121388553001492481 ). В итоге я объединил свои сборки в одну — не идеально, но сработало для меня. Я все еще заинтересован в реальном решении, но подумал, что было бы полезно поделиться своим рабочим потоком.

4. Для этого я создам два разных конвейера выпуска.