基于用于触发管道 Azure Devops 的分支指定构建分支

Posted

技术标签:

【中文标题】基于用于触发管道 Azure Devops 的分支指定构建分支【英文标题】:Specify build branch based on branch used in triggering pipeline Azure Devops 【发布时间】:2022-01-22 06:13:25 【问题描述】:

假设我有两条管道:PL1 和 PL2,PL2 由 PL1 触发。假设我在 master 分支上运行 PL1,我希望 PL2 也为 master 分支触发。当在另一个分支上触发 PL1 时,例如 release/X.X.X 我希望 PL2 也能在 release/X.X.X 分支上触发。我可以这样做吗?现在 PL2 在被触发时总是使用 master

【问题讨论】:

【参考方案1】:

我试图复制这个场景。

第一个管道:

trigger:
  - none

stages:
  - stage: first
    jobs: 
     - job: firstJob
       continueOnError: false
       steps:
         - bash: echo "first from test branch"

第二个管道:

resources:
  pipelines:
  - pipeline: firstPipeline
    source: first-pipeline
    trigger:
     branches:
      include:
        - $Build.SourceBranch

stages:
  - stage: second
    jobs: 
     - job: secondJob
       steps: 
         - bash: echo Test-branch

我从两个不同的分支测试了这些,每次第二个管道的源代码都是基于第一个管道的分支。

PS:我的两个管道 YAML 都在同一个存储库中

【讨论】:

谢谢,我有类似的东西,但没有用,不过这有帮助!

以上是关于基于用于触发管道 Azure Devops 的分支指定构建分支的主要内容,如果未能解决你的问题,请参考以下文章

Azure Devops 管道通过生成验证触发两次

如何排除对管道 yaml 文件的更改以触发构建 i azure devops?

如何在 Azure DevOps 中自动触发构建拉取请求?

Azure DevOps - 使用参数在 yaml 管道定义中设置路径触发器

如何在Azure DevOps中向管道中的远程分支发出拉取请求?

Azure DevOps 发布管道的动态变量组