这个问题折腾了很久,前期后后大概一个月吧,终于搞定了,查了很多资料,有的不完整,有的完全就不能用,有的没说完整,所以一定要记录下来,我的心血啊。
由于公司在用的gerrit的是正式环境中的,大家都在使用,并且这又是个没接触过的新的配置,所以,担心在正式服务器上调试影响大家工作,所以只能在其他机器上搭建一套完整的系统来调试,主要是搭建gerrit平台,网上很多都是apache和mysql之类的,搭建下来配置来配置去都有问题,这里给大家推荐一个“gerrit + apache + nginx”,参考:https://blog.csdn.net/peterxiaoq/article/details/73330314
系统是centos的系统。
准备工作:
(1)首先安装jdk,这个就不多说了
(2)安装apache:yum install httpd
(3)安装nginx: 参考https://blog.csdn.net/zql3315/article/details/54924689 (备注:执行1,2就行了)
说明:你可能会想,为啥安装了nginx了还要安装apache,博客了很清楚的说明了原因,此外这里主要用在执行创建gerrit用户的时候。
接下来就开始安装gerrit了,参考博客就行,我把其中重要的部分捡了出来,
1.创建gerrit专有用户
adduser gerrit
su gerrit
2.建好用户以后,我们可以把之前下载好的gerrit安装包(gerrit-2.13.4.war)拷贝到 /home/gerrit/
目录下,一会方便gerrit用户来安装
在gerrit用户的目录(/home/gerrit/)下面,执行命令:
java -jar gerrit-2.13.4.war init -d ~/gerrit_site
我们安装的时候,可以只在 Authentication method
时输入 http
,以及安装插件时输入“y”,(默认插件是不安装的),其他全部回车用默认值,如下这里:
(1)Authentication method [OPENID/?]: http
(2)Installing plugins.
Install plugin download-commands version v2.11 [y/N]?
Install plugin reviewnotes version v2.11 [y/N]?
Install plugin singleusergroup version v2.11 [y/N]?
Install plugin replication version v2.11 [y/N]?
Install plugin commit-message-length-validator version v2.11 [y/N]?
因为其他配置我们待会可以通过 etc/gerrit.config
文件进行修改
3.nigix配置:
你的nginx应该是用root账户安装的,否则可能出现权限问题。我们需要从之前的gerrit用户退出来,然后执行下面两条命令:
cd /etc/nginx/conf.d ; touch gerrit.conf
然后 vim gerrit.conf,输入如下内容:
server {
listen *:81;
server_name 192.168.8.204; (根据自己的实际情况,输入的是gerrit主机ip)
allow all;
deny all;
auth_basic "Welcomme to Gerrit Code Review Site!";
auth_basic_user_file /home/gerrit/gerrit.password;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
}
}