如何在gerrit中设置访问权限继承

时间:2015-01-16 15:11:55

标签: gerrit access-rights

我们有很多项目(许多存储库),我们正在使用gerrit进行代码审查。并非所有开发人员都可以访问所有项目,并且他们可能在不同的项目(开发人员,审批人等)上拥有不同的角色。现在,每个项目都有一组组和自己的访问策略,这些策略在结构上与所有其他项目完全相同,并且变得难以管理。

一个例子:

项目:Project_A,Project_B

群组:Project_A_Developer,Project_A_Approver,Project_B_Developer,Project_B_Approver

在Project_A的访问页面中,我设置Project_A_Developer可以推送到/ refs / for / refs / *,Project_A_Approver可以进行代码审查。

在Project_B的访问页面中,我设置Project_B_Developer可以推送到/ refs / for / refs / *,Project_B_Approver可以进行代码审查。

现在每当我们调整流程时,我们都必须浏览所有项目的访问页面并执行相同的更改,这些更改既繁琐又容易出错。

我们可以让所有项目继承All-projects的访问权限,但是我们必须让一个人成为Developer组的成员,他将成为我们不想要的所有项目的开发人员。

我也曾尝试与其他人一起玩,但无法达到预期的效果。

问题:我们如何设置项目和组,以便从一个项目继承一般访问策略,但一个人可以对不同的项目拥有不同的(或没有)访问权限?

1 个答案:

答案 0 :(得分:1)

创建项目层次结构。

All-Projects
   All-Group-1-Projects
       Project-A
   All-Group-2-Projects
       Project-B
       Project-C

当您现在更改All-Group-2-Projects的权限时,将更改Project-B和C.您所要做的就是使用正确的父项目创建新项目。然后,您应该在父项目中进行所有权限更改,并且项目本身基本上没有任何更改。