【发布时间】:2020-03-15 08:21:24
【问题描述】:
TL;DR
我们希望防止 Azure Devops 中的 Pull Request 分支策略构建通过 Continuous deployment trigger 机制触发发布。
问题
我们目前是 Azure DevOps Server 2019 版本 Dev17.M153.3 的用户
我们同时使用构建和发布管道。当用户提交拉取请求时,我们有一个 Branch Policy 将构建排队以确保代码编译并且所有测试都通过。此构建的完成会触发我们在相应版本的构建工件上配置的Continuous deployment trigger - 这对我们来说不是理想的行为。
我们的理想行为是让分支策略构建由拉取请求排队而不触发Continuous deployment trigger,因此不排队发布。如果我们手动排队构建,我们只想通过Continuous deployment trigger 触发发布。我们绝不希望在 Pull Request 上构建分支策略时发生这种情况。
我们尝试在Continuous deployment trigger 中使用Build branch filters,但没有成功。我已经尝试使用Exclude 设置它并将Build branch 设置为pull/*、refs/pull/* 和merge,但这些过滤器没有任何运气,发布仍在排队。
我想知道是否有更好的方法来处理这种情况,或者是否可以将其他过滤器添加到 Continuous deployment trigger 以减少不需要的发布排队。
【问题讨论】:
-
根据我的理解,你们想要的是无论PR是merge还是merge完成,都希望CD不能被触发。 (如果我有任何误解,请纠正我)。如果是这样,恐怕您正在使用的工作和@Shamrai 的答案将是您的最佳选择,尽管这些会有点复杂或带来另一个麻烦。因为 CD 意味着继续部署,一旦源有任何更新就会运行。
-
@MerlinLiang-MSFT 嘿梅林。感谢您的加入。是的,我相信您的理解是正确的。创建或更新 PR 时,会通过分支策略触发构建,我们不想 CD 构建该构建。感谢您的输入。我将考虑为拉取请求设置特殊构建。
标签: git powershell azure-devops azure-pipelines