Gerrit 代码审核服务器

简介:

gerrit 部署安装http://www.cnblogs.com/kevingrace/p/5624122.html

gerrit 权限管理http://zengestudy.blog.51cto.com/1702365/1772019

gerrit 项目权限管理http://www.360doc.com/content/16/0823/13/10058718_585326041.shtml

                              http://www.360doc.com/content/16/0825/10/10058718_585779620.shtml

Gerrit 对接github https://www.cnblogs.com/kevingrace/p/5651447.html

gerrit 代码同步到github https://www.cnblogs.com/tesky0125/p/5973642.html

精华部分:more gerrit_site/etc/replication.config

 [remote "10.0.3.254"]

   url = git@10.0.3.254:auto/${name}.git    #在 gerrit 文档中有一个 ${name} 变量用来复制 Gerrit 的所有项目

   push = +refs/heads/*:refs/heads/*

   push = +refs/tags/*:refs/tags/*

   push = +refs/changes/*:refs/changes/*

   threads = 3

gerrit 分支操作记录 https://www.cnblogs.com/kevingrace/p/5688724.html    


refs/for 和 refs/heads

向gerrit服务器提交代码命令: 

$git push origin HEAD:refs/for/mybranch

refs/for/mybranch需要经过code review之后才可以提交;

refs/heads/mybranch不需要code review。


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分的权限,这样Registered 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分支

个人分支还是十分有必要的,在开发成果还没有达到可以参加评审之前,用户可以在个人分支暂存自己的代码。stash暂存区并不能替代个人分支。Gerrit也考虑到了这一点,可以通过配置为每个开发者提供一个独立的区域,可以不用参与代码评审,完全是个人私有的领域。

添加如下引用:
refs/heads/sandbox/${username}/*
然后选择权限Create Reference和push,让”Registered Users”组对应的权限皆为ALLOW就可以了。

调整后的权限

gerrit privillege         


     本文转自yzy121403725 51CTO博客,原文链接:http://blog.51cto.com/lookingdream/1982291,如需转载请自行联系原作者



相关文章
|
1月前
|
Ubuntu 网络协议 Java
【Android平板编程】远程Ubuntu服务器code-server编程写代码
【Android平板编程】远程Ubuntu服务器code-server编程写代码
|
3月前
|
移动开发 缓存 网络协议
Websocket协议原理及Ws服务器代码实现
Websocket协议原理及Ws服务器代码实现
|
3月前
|
API C++
socket编程之常用api介绍与socket、select、poll、epoll高并发服务器模型代码实现(1)
前言   本文旨在学习socket网络编程这一块的内容,epoll是重中之重,后续文章写reactor模型是建立在epoll之上的。
34 0
|
3月前
|
监控 安全 Linux
socket编程之常用api介绍与socket、select、poll、epoll高并发服务器模型代码实现(3)
高并发服务器模型-poll poll介绍   poll跟select类似, 监控多路IO, 但poll不能跨平台。其实poll就是把select三个文件描述符集合变成一个集合了。
36 0
|
1月前
|
自然语言处理 Shell 网络安全
Liunx服务器搭建SVN服务,并通过钩子实现代码自动部署
Liunx服务器搭建SVN服务,并通过钩子实现代码自动部署
32 3
|
2月前
|
Ubuntu 网络协议 Linux
【Linux】Android平板上远程连接Ubuntu服务器code-server进行代码开发
【Linux】Android平板上远程连接Ubuntu服务器code-server进行代码开发
56 0
|
3月前
|
机器学习/深度学习 算法 数据可视化
基于计算机视觉手势识别控制系统YoloGesture (利用YOLO实现) 有详细代码+部署+在线服务器尝试+开源可复现
基于计算机视觉手势识别控制系统YoloGesture (利用YOLO实现) 有详细代码+部署+在线服务器尝试+开源可复现
|
4月前
|
监控 IDE Java
工作四年,我学会了用 Idea本地调试线上服务器代码
工作四年,我学会了用 Idea本地调试线上服务器代码
53 0
工作四年,我学会了用 Idea本地调试线上服务器代码
|
4月前
|
数据处理
Axios 默认配置 简化URL 简化代码 多台服务器接口配置
Axios 默认配置 简化URL 简化代码 多台服务器接口配置