我们使用 Azure DevOps 进行持续集成。管道配置为在将更改推送到功能分支时运行构建。这是快速反馈所需要的。
此外,我们对 master 分支制定了政策,即在合并功能分支之前需要成功的验证构建。当为功能分支创建拉取请求 (PR) 时,Azure DevOps 现在会自动触发相应的验证构建。
所有这一切都很好,但是有一个不幸的事情:如果已经创建了 PR 并且更新了功能分支,则会触发两个构建(一个单独用于功能分支,一个用于合并的结果,即验证构建)。
我知道有些人可能想要两个构建,但在我们的情况下(可能在每个正常情况下)如果只触发验证构建会更好。
问题:有没有办法告诉 Azure DevOps 它应该忽略任何已经有 PR 的分支的分支触发器?当然,我们也欢迎具有同等结果的解决方法。
该问题已作为问题发布 here , 但我在回复中找不到满意的答案(例如,分支过滤器和命名策略不能解决问题)。
最佳答案
“开箱即用”- 你不能。然而,作为一种解决方法,您可以使用 rest API 来检查事件的拉取请求,如果它们存在,则只会使您不需要的构建失败:
关于azure-devops - 不要为 Azure DevOps 中已有拉取请求的分支触发构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71500900/