1、准备安装环境
安装JDK
下载jdk的tar包,解压缩,并修改/etc/profile,配置环境变量,这里不再说明
安装git
gerrit需要git环境,直接用yum安装
#yum -y install git
安装httpd
httpd主要作为反向代理使用,并设置账号密码访问
#yum -y install httpd
创建gerrit安装目录
#mkdir /home/gerrit2
2、下载Gerrit安装包
下载Gerrit的war包,通常包名为gerrit-xxx.war,xxx为版本号
地址:http://gerrit-releases.storage.googleapis.com/index.html
我下载的版本为gerrit-2.12.2.war
3、安装Gerrit
进入到gerrit-2.12.2.war文件所在目录,执行以下命令进行交互式安装
#java -jar gerrit-2.12.2.war init -d /home/gerrit2/gerrit
这里省略安装过程,基本上一路回车,保持默认即可。安装过程中的配置都可以通过编辑安装后生成的配置文件来修改。该文件路径为/home/gerrit2/gerrit/etc/gerrit.config
注意:
1、gerrit可以将数据保存到mysql或其他的数据中,如果你需要使用mysql,则需要安装gerrit之前安装mysql,我这里直接使用默认的数据库类型 H2。如果你需要使用其他类型数据库,可以参考下面这个链接:
https://gerrit-documentation.storage.googleapis.com/Documentation/2.12.2/install.html
2、如果gerrit需要结合jenkins做CI持续构建的话,在交互式安装过程中需要安装Verified label,默认是不安装的:Install Verified label [y/N]? y 这里选择y,安装Verified label。
修改配置文件:
#vim /home/gerrit2/gerrit/etc/gerrit.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
[gerrit]
basePath = git
canonicalWebUrl = http:
//172
.16.206.133:8081
[database]
type
= h2
database =
/home/gerrit2/gerrit/db/ReviewDB
[index]
type
= LUCENE
[auth]
type
= HTTP
# logoutUrl = 172.16.206.133:8080
[receive]
enableSignedPush =
false
[sendemail]
smtpServer = smtp.exmail.qq.com
smtpServerPort = 465
smtpEncryption = SSL
smtpUser = 你的邮箱账号
smtpPass = 你的邮箱密码
form = 你的邮箱账号
[container]
user = root
javaHome =
/usr/local/jdk1
.8.0_66
/jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http:
//
*:8081/
[cache]
directory = cache
|
创建密码认证文件,并创建用户admin
1
2
3
4
5
|
#cd /home/gerrit2/gerrit/etc/
[root@localhost etc]
# htpasswd -c -m passwords admin
New password:
Re-
type
new password:
Adding password
for
user admin
|
4、配置httpd方向代理
编辑httpd.conf文件,追加以下内容
#vim /etc/httpd/conf/httpd.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
Listen 8080
<VirtualHost *:8080>
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
/home/gerrit2/gerrit/etc/passwords
Require valid-user
<
/Location
>
AllowEncodedSlashes On
ProxyPass / http:
//127
.0.0.1:8081/ nocanon
###这里端口为8081,与gerrit.config中配置的一样端口一样
ProxyPassReverse / http:
//127
.0.0.1:8081/
<
/VirtualHost
>
|
启动httpd服务
#service httpd start
如果使用nginx反向代理,则使用如下配置:
1
2
3
4
5
6
7
8
9
10
11
12
|
server {
listen *:8080;
server_name 10.10.10.206;
}
location
/login/
{
auth_basic
"Gerrit Code Review"
;
auth_basic_user_file
/home/gerrit2/gerrit/etc/passwords
;
proxy_pass http:
//127
.0.0.1:8081;
}
}
|
5、启动或者重启gerrit
初始化安装gerrit时,会自动启动gerrit,所以我们修改完配置后,需要重启gerrit
#/home/gerrit2/gerrit/bin/gerrit start | restart
6、登录gerrit
在浏览器输入http://172.16.206.133:8080 出现gerrit的登录窗口
将Gerrit服务器设置开机自启动(可选操作)
Gerrit安装完成后,会生成服务启动脚本,路径为 $GERRIT_SITE/bin/gerrit.sh, 如果需要将Gerrit服务设置为开机自启动,可以按以下操作进行
将脚本link到/etc/init.d目录下
ln -snf /home/gerrit2/gerrit/bin/gerrit.sh /etc/init.d/gerrit
测试脚本是否正常:
/etc/init.d/gerritd status
** ERROR: GERRIT_SITE not set
修改脚本,设置$GERRIT_SITE路径
添加开机启动:
chkconfig --add gerrit
chkconfig gerrit on
再次测试脚本