Gerrit审批权限组设置

Gerrit审批流程设置

分类: 代码管理 518人阅读 评论(0) 收藏 举报

本文描述如何使用Gerrit2.4.2设置审批流程。

首先Gerrit中已经有了两个帐号,一个是我的帐号,属于管理员,另一个是工程师。

本文就描述一个简单的审批流程:

工程师提交代码,我Review通过,然后将代码提交。

step1: 创建Reviewer组和Verifier组

Reviewer负责review

Verifier负责将review的结果提交到Git中心仓库中

然后设置成员,由于我是管理员,所以我自然同时都在Reviewer和Verifier组中。


step2:创建项目组,比如这里是appengine team,将工程师加入其中


step3:设置review和verifier权限。为了简单起见,通过Gerrit在All projects的Access中如下设置:

CSDN今天上传图片不行,就简单文字描述一下:

在refs/* 路径下,添加Reviewer组,权限是Label Code-Review,范围是-2~+2

在refs/* 路径下,添加Verifier组,权限是Label Verifier,范围是-1~+1


step4:设置要管理工程的access权限。

将appengine team组加入到refs/for/*路径下,权限为Push.

解释一下,每当工程师通过命令git push直接推送到中心仓库的ref/heades/master的时候,就会失败。只能推送到ref/for/master,等待审批。


服务端设置完成后,开始设置客户端。

step5: 设置push的快捷方式

每次敲命令:git push origin HEAD:refs/for/master 是很容易出错的,所以在客户端clone出来的工程目录下.git/config文件中添加一节配置:

  1. [remote "review"]  
  2.     pushurl = ssh://wangxd555@10.112.18.189:29418/appengine.git  
  3.     push = HEAD:refs/for/master  
  4.   
  5.     receivepack = git receive-pack --reviewer csfreebird  
[remote "review"]
    pushurl = ssh://wangxd555@10.112.18.189:29418/appengine.git
    push = HEAD:refs/for/master

    receivepack = git receive-pack --reviewer csfreebird

这样,以后就可用git push review 来推送。


step6: 为了避免一个change被打回来修改后再被当作新的change提交,要使用Gerrit提供的hook脚本

scp -P 29418 -p username@gerrit_server:/hooks/commit-msg .git/hooks


现在正常工作吧。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值