gerrit设置非小组成员禁止下载代码

  对gerrit有所了解的同学,都知道gerrit 是我们常用的一个来做代码审核的工具,其中的权限管理,是一个非常重要的环节,关于每个权限的使用范围,可以参考博客https://blog.csdn.net/chenjh213/article/details/50571190,算是很详细的介绍,关于其中的小组,我们有这样的场景:代码仓是一个很重要的代码仓,只给指定的人员使用,其他人是不能下载查看的。这时候就涉及到了小组成员和默认权限的关系,gerrit的思想是:当默认权限和小组权限发生冲突时,以小组权限为主,也就是说,小组权限会覆盖掉默认权限。

  我们现在有两个组:group1包含了全公司的开发人员,比如user1、user2、user3、user4,group2包含了负责feature_repo的开发人员,比如user1、user2,当然group2的user1、user2就是group1里的user1、user2。

  需要设置feature_repo项目只给group2小组成员下载,group1里的user3、user4是不能下载的

步骤如下:

1.在people里设置小组如下:

在group1中添加全公司人员,如user1、user2、user3、user4,group2添加feature_repo的开发人员,如user1、user2,

2.然后创建两个空的仓库,分别叫group1,group2。其中仓库group1试用默认权限,如下:

仓库group2,设置权限如下:

push:设置禁止非小组人员push代码

Read:设置非小组人员克隆代码

3.设置feature_repo仓库的权限时,使用group2,如下:

4最后非group2的人员下载feature_repo时,就下载不到代码

成员user3,user4不在group2中,feature_repo又只允许group2的成员下载,那么user3或者user4这类非group2的人员下载feature_repo时,就下载不到代码,效果如下:

显示‘unable to checkout ’ 下载不到代码(虽然会在本地创建一个文件下)

注意,如果仓库代码多的话,执行克隆代码,前面一段时间看上去的是在显示下载,其实只是下.git 文件夹,没有实际下载代码,所以依然下载不到代码,这样非小组成员还是看不到代码,就是不给他看~~

原文地址:https://www.cnblogs.com/zndxall/p/9007919.html