Gitlab CR

时间:2023-03-09 00:29:40
Gitlab CR

Gitlab 进行 CR 的强限制,原理很简单。

Gitlab CR

实现起来,利用的是 git 自身的 custom_hooks 的支持,以及需要对 gitlab 做一点操作,对它的数据库开放一个只读权限的账号,来处理。

git的custom_hooks 分为三类:

pre-receive

post-receive

update

如果要限制 merge 到 master 分支,可以在 pre-ceive上做文章:

增加脚本。

对语言的支持也非常广泛,SHELL, Ruby, Python, 在我的理解中,只要是脚本语言,都会支持得很好。

原理参考 gitlab 的官方文档,对 hook 的执行顺序有详尽介绍:

https://docs.gitlab.com/ce/administration/custom_hooks.html