安装及初始化gerrit
1、安装gitweb
apt install gitweb
2、初始化gerrit
一定要使用gerrit用户初始化,否则会出现权限问题
useradd -m -r -s /bin/bash gerrit
su - gerrit
#下载war后初始化
java -jar gerrit*.war init -d /data/gerrit_cmcc
java -jar gerrit*.war init --batch --dev -d /data/gerrit_cmcc
3、配置gerrit.conf
[gerrit]
basePath = git
canonicalWebUrl = http://jeejio.xxxx.com/
serverId = e312b381-2658-4f4e-af07-453af2080ea9
[container]
javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance"
javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance"
user = gerrit
javaHome = /opt/jdk1.8.0_361/jre
[index]
type = LUCENE
[auth]
type = HTTP
[receive]
enableSignedPush = false
[sendemail]
enable = true
smtpServer = smtp.126.com
smtpEncryption = ssl
smtpServerPort = 465
smtpUser = qfeffef
smtpPass = wwwww
sslVerify = false
from = Code Review <wfwf@126.com>
connectTimeout = 50000
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://*:8080/
[cache]
directory = cache
[gitweb]
type = gitweb
cgi = /usr/lib/cgi-bin/gitweb.cgi
一定要注意:
- gitweb.cgi的地址可能会变更,请使用find / -name gitweb.cgi查找到正确的地址后进行替换。
- 【http://jeejio.xxxx.com/】的配置一定要使用http协议,不要使用https,否则会导致循环重定向
如果遇到没有root用户情况的时候,可以使用如下方式解决:
创建root用户
在当前界面下创建一个名为root的用户,如图所示:

2、点击admin进行登录后,交root用户添加以administrator的组




3、更改gerrit.config文件,将验证模式变更为http后,重新启动gerrit


nginx的配置
server {
listen 9006;
server_name gerrit.xxxx.com;
location / {
auth_basic "Welcomme to Gerrit Code Review Site!";
auth_basic_user_file /opt/nginx/conf/gerrit.password;
proxy_pass http://192.168.58.2:30808$request_uri;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
注意:上面的这个配置解决了gerrit的项目名中不能带斜杠的问题。