1. 代码分支命名规范检测
Setting → Repository → Push rules → Branch name,添加分支命名规范对应的正则表达式。如:
^(Release|Tag|Develop|Feature)_.+_.+|Main$
表示分支名只能以以下关键字之一开头:Release、Tag、Develop和Feature。
2. 代码log编写规范检测
Setting → Repository → Push rules → Require expression in commit messages,添加log编写规范对应的正则表达式。如:
^(feat|fix|docs|style|refactor|impr|perf|sync|test): .+|Merge .*branch '.+' .*|Revert .+
表示提交的log必须满足以下条件之一:
- 以以下关键字之一开头:"feat:"、"fix:"、"docs:"、"style:"、"refactor:"、"impr:"、"perf:"、"sync:"或"test:"。
- 以"Merge"开头,后跟任意文本,然后是"branch ",再后跟用单引号括起来的任意文本,最后是任意其他文本的提交消息,如"Merge branch 'development' into main"。
- 以"Revert"开头,后跟一个或多个字符的提交消息,如"Revert 'Fix issue #123'"。
3. 代码分支保护
4. merge的冒烟测试
Setting → General → Merge Requests → Merge options → 勾选“Enable merged results pipelines”,表示冒烟测试是检测merge后的代码。
Setting → General → Merge Requests → Merge options → Merge checks → “Pipelines must succeed”,表示必须冒烟测试通过才能merge成功,否则即使是人工点击merge也不会合并到目标分支。