Azure Pipeline:如何通过YAML设置依赖管道的默认分支以自动触发
实现Pipeline A触发Pipeline B的YAML方案
可行,但无法直接通过YAML修改Pipeline B的默认分支(默认分支是流水线的全局属性,不属于YAML定义内容),不过可以通过以下两种方式实现触发需求,无需UI操作:
方式1:在Pipeline B的main分支YAML中添加资源触发配置
既然Azure DevOps会读取Pipeline B默认分支(main)的YAML来检查触发规则,直接把资源配置复制到main分支的YAML里即可:
resources: pipelines: - pipeline: myproject.myprogram source: XXXXXXXX trigger: branches: include: - main # 指定触发的Pipeline A分支,可根据需求调整
这样Pipeline A完成后,会触发Pipeline B的main分支流水线。如果需要运行release/test分支的代码,可在main分支的YAML中添加checkout指定分支:
steps: - checkout: self ref: 'refs/heads/release/test' # 拉取release/test分支的代码执行
方式2:让Pipeline A直接触发Pipeline B的release/test分支
在Pipeline A的YAML中添加一个步骤,使用Azure DevOps CLI命令触发Pipeline B的release/test分支,无需依赖Pipeline B的资源配置:
steps: - script: | az pipelines run --name "Pipeline B的名称" --branch release/test --org $(System.TeamFoundationCollectionUri) --project $(System.TeamProject) env: AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
这种方式更灵活,直接指定要触发的分支,不受Pipeline B默认分支的限制。
内容的提问来源于stack exchange,提问作者cris7ronaldo
相关产品推荐
相关产品推荐

