Azure DevOps - два зависимых конвейера YAML в одном репозитории - PullRequest
0 голосов
/ 23 февраля 2020

У меня в репо два .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:
            ...

К сожалению, это не похоже на работу. Верхний триггер блокирует нижний триггер. И если я удаляю верхний триггер, тогда конвейер развертывания запускается одновременно со сборкой.

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

Установите для ваших триггеров для второго yml значение none, затем добавьте этот параметр в раздел «Триггеры» пользовательского интерфейса. Он будет строить ваши сборки, как вы описываете

enter image description here

0 голосов
/ 23 февраля 2020

вы должны запустить deploy.yml с trigger: none

trigger: none

resources: 
  pipelines:
  - pipeline: ci-pipeline
    source: my-build-pipeline
    trigger:
      enabled: true
      branches:
        include:
          - master
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...