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. 代码分支保护
Setting → Repository → Protected branches / Protected Tag,可设置某一分支或者某一类分支关于merge和push的权限。
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也不会合并到目标分支。
未完待续......