阿里云首页 云效2020

评审文件白名单

在规范的情况下,合并请求必须至少有一个评审人,但是有时候只是提交几个不敏感的文件,需要人工介入评审的必要性不大,希望能够针对这类文件直接支持合并,提高工作效率。

代码工程中大部分文件需要走评审卡点,小部分不重要的文件改动没必要每次都需要人工评审,但是为了保证合入的稳定性,合入过程需要走CI自动化检查后再合并,所以仍然不允许直接推送目标分支,而是要走MR流程。

这类需求可以使用评审文件白名单去解决。

设置评审文件白名单

库管理员在代码库设置-分支设置-保护分支-评审模式中,当选择普通模式的时候,支持「评审文件白名单」设置,白名单内的文件不强制需要人工评审。

1

当设置了评审文件白名单后,当评审涉及该文件时:

  • 若合并请求仅包含该白名单内的文件——合并请求不受「评审通过最少人数」限制,但其他条件如评论要求全部解决、自动化检查卡点等仍然生效;

  • 若合并请求部分包含该白名单内的文件——合并请求对应保护分支全部规则均生效;

评审文件白名单书写规则

文件白名单使用以下规则匹配文件路径:

  • ?匹配一个字符

  • * 匹配零个或多个字符

  • ** 匹配路径中的零个或多个目录

示例如下:

# 匹配 codeup/test.java ,同时也匹配 codeup/tast.java 或 codeup/txst.java;
codeup/t?st.java

# 匹配 codeup 目录下所有以 .java 结尾的文件; 
codeup/*.java 

# 匹配 codeup 目录下所有名为 test.java 的文件;
codeup/**/test.java 

# 匹配 org/springframework目录下以 .java 结尾的文件;
org/springframework/**/*.java 

# 匹配 org/springframework/servlet/bla.java,同时也匹配 org/springframework/testing/servlet/bla.java 或 org/servlet/bla.java
org/**/servlet/bla.java