Gerrit安装和使用说明

搞了几天,资料也查了不少,终于磨出来了。有什么不对的地方,大家及时提出来。。。,开始吧

系统

Centos6.5 x64

内存

2G

硬盘

20G

数据库

Mysql5.1

服务器

Apache2.2

准备

#yum update

#yum install git

#yum install java-1.7.0-openjdk.x86_64

#yum install mysql-server

#service mysqld start

配置mysql

#mysql –u root

-> CREATE USER 'gerrit'@'localhost' IDENTIFIED BY '';

-> CREATE DATABASE reviewdb;

-> ALTER DATABASE reviewdb charset=latin1;

-> GRANT ALL ON reviewdb.* TO 'gerrit'@'localhost';

-> FLUSH PRIVILEGES;

安装gerrit

安装文件见【附件】

1)一直选择默认enter(只有在选择数据库时选择mysql,在选择验证方式时选http)

#java -jar gerrit-full-2.5.war init -d /var/gerrit-site

2)Gerrit配置文件如下:(默认路径:/var/gerrit-site/etc/gerrit.conf)

[gerrit]
basePath = git
canonicalWebUrl = http://192.168.1.78:8081/
[database]
type = MYSQL
hostname = localhost
database = reviewdb
username = gerrit
[auth]
type = HTTP
[sendemail]
smtpServer = localhost
[container]
user = root
javaHome = /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = proxy-http://192.168.1.78:8081/
[cache]
directory = cache

3 ) 添加用户,可以添加多个,这个用户是作为web页面的登陆用户使用的

# touch /var/gerrit-site/passwd

# htpasswd /var/gerrit-site/passwd  [new-user-name]

4) 启动、关闭、重启gerrit

# /var/gerrit-site/bin/gerrit.sh start

# /var/gerrit-site/bin/gerrit.sh stop

# /var/gerrit-site/bin/gerrit.sh restart

配置Apache

1)       配置反向代理

/etc/httpd/conf/httpd.conf

<VirtualHost *:80>
ServerName localhost
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On <Proxy *>
Order deny,allow
Allow from all
</Proxy> <Location /login/>
AuthType Basic
AuthName "Gerrit Code Review"
AuthBasicProvider file
AuthUserFile /var/gerrit-site/password
Require valid-user
</Location> ProxyPass / http://192.168.1.78:8081/
</VirtualHost>

2)关闭selinux,需重启

# vi /etc/selinux/config

SELINUX=disable

或者,本次有效

# setenforce 0

3) 设置权限

# chown –R apache:apache /var/gerrit-site 

4) 关闭防火墙,让局域网用户访问

# service iptables stop

5) 重启httpd服务

# service httpd restart

Gerrit的使用

创建项目

创建branch

配置项目权限

项目评审过程中,需要几个条件,代码才能最终提交到分支

l  Review  >=+2

l  Verify   >=+1

所以如果配置为每人评审最多只能+1时,则必须最少两人才能完成评审过程,当然也可以让一个用户组可以一次性review +2

配置项目权限时需要根据需要进行配置,选好拥有权限的用户组

客户端获取代码

Git clone http://[ip]:[port]/[project-name].git

如git clone http://192.168.1.78/hello.git

添加或更改文件 提交审核

此处提交代码的位置有点奇怪:HEAD:refs/for/master,其实是gerrit规定的方式,最后的master是分支名称

提交代码的快捷方式:

[remote "review"]

pushurl = http://192.168.1.78/hello.git

push = HEAD:refs/for/master

这样以后就直接:

# git push review

其中用户密码在webui页面右上角的“setting”à”HTTP Password”

评审

进入评审界面

此时可以看到页面有“Review”按钮,点击即可评审代码

评审或确认

此时可以看到用户一次评审只能+1 这是在项目的access中设置的,此项目评审结果必须>=2才可以提交,所以必须由两个用户分别评审

确认合并

待满足gerrit对项目的要求(review >=2 verify >=1)后,页面中会出现“submit patch set 1”的按钮,点击将分支合并到主干中

用户会发现,提交完毕后,“revert change”按钮出现,也就是可以revert刚才的提交动作

重新获取代码

此时在其他地方重新获取项目的分支代码,即可看到代码更新过了

git pull origin master

Gerrit的安装和使用说明的更多相关文章

  1. VirtualBox安装及使用说明和虚拟机安装XP系统图文教程

    virtualbox是一款开源的虚拟机软件,它能够支持多种操作系统的安装如:Solaris.Windows.DOS.Linux.OS/2 Warp.BSD等系统作为client操作系统,而且最新版本号 ...

  2. Sonar安装与使用说明

    我总结的Sonar安装与使用说明,需要的可以去网盘下载. 网盘地址: http://pan.baidu.com/s/199BII

  3. Nexus安装、使用说明、问题总结

    Nexus安装.使用说明.问题总结 1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在 ...

  4. gerrit上的commit msg中关联jira单号(含gerrit的安装)

    这个问题折腾了很久,前期后后大概一个月吧,终于搞定了,查了很多资料,有的不完整,有的完全就不能用,有的没说完整,所以一定要记录下来,我的心血啊. 由于公司在用的gerrit的是正式环境中的,大家都在使 ...

  5. vue之vue-cookies安装和使用说明

    vue之vue-cookies安装和使用说明npm官方链接:https://www.npmjs.com/package/vue-cookies 安装,在对应项目根目录下执行:npm install v ...

  6. Fiddler4入门--手机抓包工具安装和使用说明

    Fiddler4入门--手机抓包工具安装和使用说明.电脑最好是笔记本连同一个wifi,这样能和手机保持统一局域网内. 很多区块链dapp项目方风控做的很差,利用fiddler抓包分析找一些漏洞,然后利 ...

  7. charles抓包的安装,使用说明以及常见问题解决(windows)

    charles抓包的安装,使用说明以及常见问题解决(windows) https://blog.csdn.net/zhangxiang_1102/article/details/77855548

  8. Kibana安装及使用说明

    Kibana安装及使用说明 Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索.查看交互存储在Elasticsearch索引中的数据. 官方地址:https://www. ...

  9. 路由器逆向分析------firmware-mod-kit工具安装和使用说明

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/68061957 一.firmware-mod-kit工具的安装 firmware-m ...

随机推荐

  1. 【XSY1522】灯 乱搞

    题目大意 ​ \(n\)盏灯排成一列,标号\(1\)到\(n\),一开始标号为\(1\)的灯亮着. ​ 现在依次对于\(2\)~\(n\)的每一个质数\(p_i\),指定一盏亮着的灯\(a_i\),点 ...

  2. 牛客小白月赛12 H(dfs序+线段树),F(分块思想+bit),J(二分)

    H 华华和月月种树 链接:https://ac.nowcoder.com/acm/contest/392/H 思路:先得到整棵树最终的形态,在这棵树上进行三种操作,用dfs跑下,第二种操作就直接对最终 ...

  3. Tomcat控制台总是打印日志问题的解决办法

    问题 使用gradle启动项目,在tomcat控制台中不停地打印perf4j性能日志,导致开发过程很卡很慢.明明修改了logback.xml配置文件,让它输出到log文件中,而不是控制台,但是不起作用 ...

  4. MT【267】第一次很重要

    \begin{equation*}\textbf{已知}x_1,x_2<\pi,x_{n+1}=x_n+\left\{ \begin{aligned} sin x_n &,x_n> ...

  5. 【 HDU2966 】In case of failure(KD-Tree)

    BUPT2017 wintertraining(15) #5E HDU - 2966 题意 给平面直角坐标系下的n个点的坐标,求离每个点和它最近点的距离的平方.\(2 \le n \le 10^5\) ...

  6. Hdoj 1086.You can Solve a Geometry Problem too 题解

    Problem Description Many geometry(几何)problems were designed in the ACM/ICPC. And now, I also prepare ...

  7. Arukas.io云主机安装CentOS

    创建应用   1 jdeathe/centos-ssh:centos-6 启动应用 电机启动应用,应用会自动部署,等显示Running 就说明成功了.估计需要几分钟. 查看用户以及密码 自己保存下用户 ...

  8. A.01.09—模块的输出—PWM低端输出

    PWM输出在汽车上的应用也比较多,它有三种不同的实现方式. 第一种由软件实现,即软件设定对一个输出口拉高和拉低的时间,形成时高时低的PWM控制:但这种方式目前用得不多,这是由使用需求和软件本身的特性决 ...

  9. 存在重复元素 II

    题目描述 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k. 示例 1: 输入: n ...

  10. Windows Update第三方工具概览

    受方程式黑客组织0Day攻击影响,所有的Windows服务器都要更新补丁. 方程式0day漏洞攻击介绍:https://zhuanlan.zhihu.com/p/26375989 腾讯云的解决方案:h ...