#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_. Таким образом, для каждого триггера артефакта запускается правильный этап, выбирается ветвь функций и ветвь разработки для других.
Это не идеальное решение, поскольку оно требует некоторого дублирования кода, но с помощью групп задач я смог свести это к минимуму. Но пока я не вижу лучшего решения.
Комментарии:
1. Вы можете использовать «Последние из определенной ветки» и выбрать ветку PR.
2. Точно, когда я делаю это вручную, я могу. Но есть ли способ сделать это автоматически? После сборки запустите выпуск с определенным артефактом ветви для этой сборки и артефактами ветви разработки для других сборок
3. @ErikSteinebach. На прошлой неделе у меня была именно эта проблема, но я не смог добиться значительного прогресса, даже с помощью твита #LoWCDA ( twitter.com/samsmithnz/status/1121388553001492481 ). В итоге я объединил свои сборки в одну — не идеально, но сработало для меня. Я все еще заинтересован в реальном решении, но подумал, что было бы полезно поделиться своим рабочим потоком.
4. Для этого я создам два разных конвейера выпуска.