评审文件白名单

本文主要介绍了评审文件白名单书写规则和如何设置评审文件的白名单。

使用背景

在规范的情况下,合并请求必须至少有一个评审人,但是有时候只是提交几个不敏感的文件,需要人工介入评审的必要性不大,希望能够针对这类文件直接支持合并,提高工作效率。代码工程中大部分文件需要走评审卡点,小部分不重要的文件改动没必要每次都需要人工评审,但是为了保证合入的稳定性,合入过程需要走CI自动化检查后再合并,所以仍然不允许直接推送目标分支,而是要走MR流程。这类需求可以使用评审文件白名单来解决。

评审文件白名单书写规则

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

  • ?匹配一个字符。

  • * 匹配零个或多个字符。

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

示例如下:

# 匹配 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 

设置评审文件白名单

库管理员选择代码库设置 > 分支设置,单击新建保护分支规则,开启要求合并前通过代码评审开关,当选择普通模式的时候,支持评审文件白名单设置,白名单内的文件不强制需要人工评审。

高的 (66)

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

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

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