Gerrit项目权限设置总结

Gerrit的权限系统是比较复杂的,初学者使用起来有一定困难。Gerrit新建项目的权限继承自内置项目All-Projects,默认的权限已经十分完善,但仍然需要做一些微调来满足实际的需要。但是不要动All-Projects的默认权限,只修改本项目的权限,可以覆盖掉不想要的继承来的权限和添加新的权限。

一、 Master分支
项目的master分支默认只有administrators和Project Owners可以不经代码审核直接推送,但是允许其他用户向master分支推送changes接受评审。这里调整为Registered Users组用户不能向master推送changes,而只能向devel分支推送changes。devel分支的权限默认即可。项目只有两个常设分支master和devel,日常开发只在devel分支上,只有管理员才能touch master分支。
Project->list(选定项目)->Access->Edit->Add Reference
reference的名字为:refs/for/refs/heads/master,然后添加push权限,添加组”Registered Users”,选择对应的push权限为deny,同时勾选Exclusive,覆盖掉该ref继承和被通配符所涵盖的权限。

二、 Code Review和submit
gerrit默认只给Registered Users组用户Code View -1分到1分的权限,这样Registere Users组用户就无法独立完成代码审核,而developer都集中在这个组中,因此将其Code View权限调整为-2分到2分。而且该组用户没有submit的权限,无法合并补丁到仓库中,下面一并添加submit权限。
Project->list(选定项目)->Access->Edit->Add Reference
reference的名字为:refs/heads/*,然后添加Label Code-Review,添加组”Registered Users”,将其权限调整为-2 ~ 2。然后再添加Submit权限,添加组”Registered Users”,其权限为ALLOW。

三、 sandbox分支
个人分支还是十分有必要的,在开发成果还没有达到可以参加评审之前,用户可以在个人分支暂存自己的代码。Gerrit可以通过配置为每个开发者提供一个独立的区域,可以不用参与代码评审,完全是个人私有的领域。
添加如下引用:
refs/heads/sandbox/${username}/*
然后选择权限Create Reference和push,让”Registered Users”组对应的权限皆为ALLOW就可以了。

四、 调整后的权限
这里写图片描述

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值