管道间依赖性和多阶段管道

时间:2019-12-06 21:16:36

标签: azure-devops azure-pipelines

用例: 我有两个阶段的a pipeline

  • 每个PR /提交给主控者(构建+测试)所触发的一个
  • 仅当提供输入变量时才触发该触发器,以发布新的软件包版本。这取决于第一个。

发布软件包后,第二阶段的最后一步是自动将更改提交到存储库。

但是,我无法从Azure DevOps覆盖GitHub分支保护规则,因此由于管道还不是“绿色”,所以我无法进行该提交。

我曾考虑过将两个阶段分成两个管道,并使我的“发布”管道依赖于“构建+测试”管道(好像它是旧的“发布管道”之一,但将所有内容保留在我的计算机中) .yml个文件)。


我的问题是:

  • 我做错了什么,我应该能够从Azure DevOps覆盖GitHub分支保护规则吗?
  • 是否可以将我的多级管道一分为二,并使一个依赖于另一个?
  • 您能想到其他任何方式来实现我的目的吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

  

我做错了什么,我应该能够从Azure DevOps覆盖GitHub分支保护规则吗?

如果您想将更改推送到该github存储库,则必须匹配GitHub分支保护规则。在Azure DevOps Git中,我们可以绕过分支策略。问题在于我们无法从Azure DevOps覆盖GitHub分支保护规则。

  

是否有可能将我的多级管道一分为二,并使一个依赖于另一个?

是的,我们可以将多级管道分成两部分,但是要推动更改,我们仍然需要满足GitHub分支保护规则。因此,关键是如何绕过或遵守规则。

  

您能想到其他任何方式来实现我的目的吗?

没有其他更好的方法,无论是在一个多级管道中还是在两个阶段中,我们都必须满足规则。如果我们不能满足规则,那么我们必须绕过规则或禁用GitHub分支保护规则。