0

我的仓库中有两个.yml文件。一个用于构建,一个用于部署。我希望将构建与部署分开的主要原因是,我还希望将环境变量存储在我的 repo、eivariables-dev.ymlvariables-prod.yml文件中。所以不需要每次都创建一个新的构建(包括运行测试、docker 镜像构建等)。

文件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:
            ...

不幸的是,它似乎不起作用。上扳机挡住下扳机。如果我删除了顶部触发器,那么部署管道会与构建管道同时触发。

4

2 回答 2

0

你必须开始你的 deploy.ymltrigger: none

trigger: none

resources: 
  pipelines:
  - pipeline: ci-pipeline
    source: my-build-pipeline
    trigger:
      enabled: true
      branches:
        include:
          - master
于 2020-02-23T20:24:04.407 回答
0

将第二个 yml 的触发器设置为none,然后将此设置添加到 UI 的“触发器”部分。它将按照您的描述分阶段构建您的构建

在此处输入图像描述

于 2020-02-24T08:30:38.567 回答