首页 > 解决方案 > 合并时触发 Azure 管道

问题描述

我有一个用例,我配置了两个管道。一个用于运行由拉取请求触发的测试,另一个用于处理部署的管道。我在 Azure 中使用 Bitbucket 云。

管道 A - 在 PR 上运行测试。

管道 B - 成功合并后部署(批准的拉取请求)。

我当前的设置是在提交拉取请求时触发管道 A。这没问题,可以按预期工作。我遇到的问题是Pipeline B。无论 PR 是否被批准甚至合并都会触发。我知道 CI 触发器的预期行为是在分支上执行任何操作时触发。PR 触发器也不符合我的需求,因为它与Pipeline A是多余的。

我想要发生的事情是因为管道 A在 PR 上触发,代码审查员将批准并合并 PR,并且只有当 PR 最终合并到发布分支时才会触发管道 B。这可能吗?

  1. 开发人员完成代码。

  2. 开发人员针对Release1.0分支提交 PR。

  3. 管道 A触发。测试通过或失败。

  4. 代码审查员批准并将 PR 合并到Release1.0分支。

  5. 管道 B触发和部署。

标签: azureazure-devopsazure-pipelines

解决方案


更新:对于那些遇到同样问题的人来说,这实际上是一个非常简单的修复。只需设置触发器...

pr: none

管道 B中就可以了。

需要明确的是,此解决方案仅特定于 Bitbucket Cloud 和 GitHub 存储库。Azure 存储库不存在 YAML 管道中的“pr”语法(改用分支策略)。


推荐阅读