У меня в репо два .yml
файла. Один для сборки, один для развертывания. Основная причина, по которой я хотел бы отделить сборку от развертывания, заключается в том, что я также хотел бы хранить переменные для сред в моем репо, например в variables-dev.yml
и variables-prod.yml
файлах. Поэтому нет необходимости каждый раз создавать новую сборку (которая включает в себя запущенные тесты, docker сборка образа и c.).
Файл build.yml
:
trigger:
paths:
exclude:
- build.yml
- deploy.yml
stages:
- stage: build
jobs:
...
И deploy.yml
, который я хочу вызвать только после завершения конвейера build
. Вот почему я добавляю первое исключение из всех путей, но добавляю один в ресурс конвейера.
trigger:
paths:
exclude:
- '*'
resources:
pipelines:
- pipeline: build
source: build
trigger:
branches:
include:
- '*'
stages:
- stage: dev
variables:
- template: variables-dev.yml
jobs:
- deployment: deploy_dev
environment: 'dev'
strategy:
runOnce:
deploy:
steps:
...
- stage: prod
dependsOn: dev
variables:
- template: variables-prod.yml
jobs:
- deployment: deploy_prod
environment: 'prod'
strategy:
runOnce:
deploy:
steps:
...
К сожалению, это не похоже на работу. Верхний триггер блокирует нижний триггер. И если я удаляю верхний триггер, тогда конвейер развертывания запускается одновременно со сборкой.