azure-devops - Devops 拉取请求工作流验证
问题描述
我们将 Azure devops 与每个任务的工作流一起使用:
- 任务分支到发布分支
- 然后发布分支到master
审阅者将批准每个拉取请求。
但是,创建 PR 的用户也可以从任务分支直接创建一个到 master。
有什么方法可以通过策略/验证系统可以阻止 PR 本身的创建,这是从任务到主控的。
解决方案
目前 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。)。希望他们将来会考虑添加此功能。
推荐阅读
- flutter - BehaviorSubject 添加相同的值
- sql-server - 恢复损坏的数据库/表
- r - 将变量分配到文件路径中
- laravel - Laravel:显示来自控制器的日志文件的最后一行
- maven-3 - Maven 正在 .m2 目录中下载同一工件的多个版本,甚至指定了确切的版本
- numpy - 平均绝对误差 (mae) 和均方误差 (mse) 损失函数的梯度
- typescript - 使用 Typescript 动态调用类的方法
- amazon-web-services - Cloudformation:在 S3 存储桶上遇到不受支持的属性 DeletionPolicy
- php - 将用户 ID 传递到 laravel 中的另一个页面
- nativescript-angular - Nativescrip-Angular,使用 https 从服务器获取图像