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

4
我们有许多项目(许多代码库),并且我们正在使用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继承访问权限,但是那样我们就必须将一个人设为开发人员组的成员,他将成为所有项目的开发人员,这不是我们想要的。
我还尝试过彼此包含的组,但无法实现所需的结果。
问题是:我们如何设置项目和组,以便一般访问策略从单个项目继承,但一个人可以在不同的项目上拥有不同(或无)访问权限?

一年已经过去了。你解决了这个问题吗? - sebkraemer
我还没有解决它。 - kresho
根据我最近在访问继承方面的经验,您应该检查All-Projects中的_BLOCK_访问定义。我之前不知道,在一个项目中阻止的内容不能在继承的项目中取消阻止。 - sebkraemer
1个回答

1
创建一个项目层次结构。
All-Projects
   All-Group-1-Projects
       Project-A
   All-Group-2-Projects
       Project-B
       Project-C

当您更改All-Group-2-Projects的权限时,会更改Project-B和C。您只需创建具有正确父项目的新项目。 然后您应该在父项目中进行所有权限更改,并且基本上没有项目本身的更改。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接