代码Review系统Gerrit的搭建

本文介绍了如何在CentOS6.8上搭建Gerrit代码审查系统,包括准备MySQL数据库,安装Gerrit war包,配置数据库、邮件服务以及选择HTTP验证方式。接着详细阐述了配置Apache代理的步骤,创建访问用户和设置密码。搭建过程中遇到的问题通过搜索引擎解决,但Gerrit的使用中可能存在代码冲突问题,可能影响开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。
基本环境:CentOS6.8+MySQL-5.6.27+Java(1.7以上版本)+mail.rc(邮件发送)
一、 准备MySQL数据库

mysql> create database reviewdb;
mysql> CREATE DATABASE IF NOT EXISTS reviewdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> grant all on reviewdb.* to 'gerrit'@'localhost' identified by 'gerrit';
mysql> flush privileges;

二、 下载安装包并安装
Gerrit安装包为war包,下载完成后可以使用

java -jar gerrit-2.12.war init -d /var/opt/review_site

来启动命令行交互安装动作。命令行交互的安装过程如下:

Create '/var/opt/review-site' [Y/n]?

*** Git Repositories
***

Location of Git repositories [git]: /home/git/repositories

*** SQL Database
***

Database server type [H2/?]:

*** User Authentication
***

Authentication method [OPENID/?]: http   
Get username from custom HTTP header [y/N]? :
SSO logout URL : 

*** Email Delivery
***

SMTP server hostname [localhost]: 
SMTP server port [(default)]:
SMTP encryption [NONE/?]:
SMTP username [gerrit2]: 
jushi@taobao.com's password :
confirm password :

*** Container Process
***

Run as [gerrit2]:
Java runtime [/usr/lib/jvm/java-6-sun-1.6.0.24/jre]:
Copy gerrit.war to /home/gerrit2/review-site/bin/gerrit.war [Y/n]?
Copying gerrit.war to /home/gerrit2/review-site/bin/gerrit.war

*** SSH Daemon
***

Listen on address [*]:
Listen on port [29418]:


Gerrit Code Review is not shipped with Bouncy Castle Crypto v144
  If available, Gerrit can take advantage of features
  in the library, but will also function without it.
Download and install it now [Y/n]? 
Downloading http://www.bouncycastle.org/download/bcprov-jdk16-144.jar ... OK
Checksum bcprov-jdk16-144.jar OK
Generating SSH host key ... rsa... dsa... done
*** HTTP Daemon
*** 

Behind reverse proxy           [y/N]? y
Proxy uses SSL (https://)      [y/N]? 
Subdirectory on proxy server   [/]: 
Listen on address              [*]: 
Listen on port                 [8081]: 

Initialized /home/gerrit2/review-site
Executing /home/gerrit2/review-site/bin/gerrit.sh start
Starting Gerrit Code Review: OK

在上面的过程中,大部分只需要回车选择默认就可以了,需要注意的地方有
1、指定git库路径
2、指定数据库类型,默认为H2数据库,但是我们选择使用MySQL。选择MySQL之后需要指定localhost,用户名,密码等等
3、定义系统邮件功能,需要指定发件服务器,端口,发件用户和密码
4、指定验证方式,必须选择http方式,便于后面使用apache代理

安装完成后我们可以查看Gerrit的配置文件,基本上上面的步骤都是在定义配置文件

vim /var/opt/review_site/etc/gerrit.conf
[gerrit]
        basePath = /data/git                //指定git库路径
        canonicalWebUrl = http://192.168.1.131:8081/        
[database]
        type = mysql                        //指定数据库
        hostname = localhost
        database = reviewdb
        username = gerrit2
[index]
        type = LUCENE
[auth]                                  //指定验证方式
        type = HTTP
[receive]
        enableSignedPush = false
[sendemail]                             //指定邮件服务器
        smtpServer = mail.btte.net
        smtpServerPort = 25
        smtpUser = autoreport@btte.net
[container]
        user = root
        javaHome = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.91-1.b14.el6.x86_64/jre
[sshd]                                  //默认的ssh端口
        listenAddress = *:29418         
[httpd]
        listenUrl = proxy-http://*:8081/
[cache]
        directory = cache

三、 配置Apache代理
1 创建访问用户及相应的密码

htpasswd -c /var/opt/review_site/data/passwords admin
输入两次密码即可

2 配置http文件,添加以下内容

<VirtualHost *:80>
    ProxyRequests Off
    ProxyVia Off
    AllowEncodedSlashes On
    ProxyPreserveHost On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    <Location /login/>
        AuthType Basic
        AuthName "Gerrit Code Review"
        Require valid-user
        AuthUserFile /var/opt/review_site/data/passwords
    </Location>
    ProxyPass / http://127.0.0.1:8081/ nocanon
</VirtualHost>

实际搭建过程中,踩了太多的坑,都是靠着谷歌大大和百度大大一个一个解决掉,不容易啊~
而且,Gerrit的使用对开发来说不是很友好,提交代码的时候经常出现代码冲突,影响开发进度,需要注意下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值