转:http://www.cnblogs.com/smallcoderhujin/p/3937641.html

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 '123'; ->
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
Allowfrom 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



-------------------------------------------------------------------

出现错误:
[root@localhost java.test]# htpasswd /var/gerrit-site/passwd ybb
-bash: htpasswd: command not found


解决方法:
yum install -y httpd

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信