Azure DevOps Server 2020是否支持多层PR审批及规则配置咨询
混合变更PR审批规则配置方案
可以实现该需求,无需为每段业务代码单独配置指定的必填审核人,通过路径匹配+审批组规则即可达成要求。
规则设计逻辑
- 首先对代码仓库的文件路径做规则拆分,区分两类文件变更的判定条件:
- 元数据文件:匹配你方现有元数据对应的固定路径/后缀规则,维持已有的「元数据审核人组为必填审批方」规则
- 业务代码文件:匹配所有不属于元数据路径范围的代码文件,新增规则:只要PR包含该范围的文件变更,就需要至少1名「业务代码审核组」成员审批通过,不要求指定固定审核人
- 两类规则为并联生效关系:只要PR同时覆盖两类文件变更,就需要同时满足两类审批要求才能合并;如果PR仅包含元数据变更,只需元数据审核人批准即可合并,不影响现有正常流程。
主流代码托管平台的通用配置方法
- GitHub:进入仓库
Settings→Branches→Branch protection rule,新增/编辑保护分支规则:- 开启
Require a pull request before merging - 新增
Require review from Code Owners规则,在CODEOWNERS文件中分别配置元数据路径的必填审核组,以及业务代码根路径的可选审核组,再搭配Require at least 1 approval规则,同时开启Dismiss stale pull request approvals when new commits are pushed避免旧审批失效问题
- 开启
- GitLab:进入仓库
设置→仓库→受保护的分支,编辑对应分支的保护规则:- 开启
需要批准,设置最低批准数为1 - 新增
批准规则,分别为元数据路径设置「元数据审核组」为必填批准人,为业务代码路径设置「业务审核组」为可选批准人,勾选如果修改了此路径下的文件则需要该规则的批准即可
- 开启
- 其他自研/内部托管平台:只要支持按路径匹配审批规则、支持设置审批组最低批准数,都可以参照上述逻辑配置。
注意事项
业务代码审核组可以直接拉取所有对应业务线的开发/测试人员入组,不需要单独分配代码模块的审核权限,只要有1人审批即可,适配你方暂时无法按代码段配置必填审核人的现状。
内容的提问来源于stack exchange,提问作者mark
相关产品推荐
相关产品推荐

