首页 > 解决方案 > Devops 拉取请求工作流验证

问题描述

我们将 Azure devops 与每个任务的工作流一起使用:

  1. 任务分支到发布分支
  2. 然后发布分支到master

审阅者将批准每个拉取请求。
但是,创建 PR 的用户也可以从任务分支直接创建一个到 master。

在此处输入图像描述

有什么方法可以通过策略/验证系统可以阻止 PR 本身的创建,这是从任务到主控的。

标签: azure-devops

解决方案


目前 azure devops 没有策略/验证来防止创建需要掌握的任务的 pr。

但是,有一种解决方法可以防止合并 PR,这是要掌握的任务。

您可以使用脚本任务创建管道以检查 PR 的源分支。见下文:

$sourceBranch = "$(System.PullRequest.SourceBranch)"

if($sourceBranch -ne "refs/heads/release")
{
    exit 1
}

例如,使用上述脚本添加一个 powershell 任务。该脚本将检查 PR 源分支是否为发布分支,如果不是则使管道失败。

然后您可以将上述管道添加到主分支的分支策略中。见下文:

在此处输入图像描述

那么任何没有发布到 master 的 PR 都将无法通过验证,无法完成。(但它仍然无法阻止创建从测试到主控的 PR)

您也可以单击此处向 Microsoft 开发团队提交功能请求(单击 Suggest a feature 并选择 Azure Devops。)。希望他们将来会考虑添加此功能。

请参阅下面我的测试管道的屏幕截图。 在此处输入图像描述


推荐阅读