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

相关文章:

  • 2021-07-07
  • 2021-11-19
  • 2021-09-25
  • 2022-12-23
  • 2022-12-23
  • 2021-11-24
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-02
  • 2021-08-06
  • 2021-09-25
  • 2021-12-31
相关资源
相似解决方案