Gerrit的安装和使用说明

Gerrit安装和使用说明

搞了几天,资料也查了很多,终于磨出来了。有什么不对的地方,你们及时提出来。。。,开始吧java

系统mysql

Centos6.5 x64linux

内存git

2Gweb

硬盘sql

20G数据库

数据库apache

Mysql5.1服务器

服务器ssh

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
    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

相关文章
相关标签/搜索