1. gerrit下载
gerrit官网下载:https://www.gerritcodereview.com/releases-readme.html
如果是在虚拟机安装gerrit,本地PC下载的war包,不能通过vmtools直接拖动复制粘贴到虚拟机内部,会造成包损坏。可以通过scp或者FTP上传。
2. Ubuntu新增gerrit账号
sudo useradd gerrit -m -s /bin/bash
sudo passwd gerrit
# 将gerrit加入sudo权限
sudo vi /etc/sudoers
# 增加 gerrit ALL=(ALL:ALL) ALL
# 切换到gerrit账号
su gerrit
# 将gerrit-2.15.22.war文件上传到gerrit账户目录,如/home/gerrit
# 修改gerrit-2.15.22.war文件权限为777
chmod 777 gerrit-2.15.22.war
3. 安装git
Linux系统一般默认安装了git
sudo apt-get install git
4. 安装Apache2
sudo apt-get install apache2
5. 配置Apache2
- 进入apache2设置目录
cd /etc/apache2
- 修改以下三个配置文件:
httpd.conf
apache2.conf
ports.conf
ps. httpd.conf文件没有的话需要手动创建
sudo touch /etc/apache2/httpd.conf
sudo vi /etc/apache2/httpd.conf
- 配置httpd.conf
<VirtualHost *:8080>
ServerName xxx.xx.xxx.xx: # ubuntu系统IP地址
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location "/login/">
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
AuthBasicProvider file
AuthUserFile /home/gerrit/review_site/passwords
</Location>
AllowEncodedSlashes On
ProxyPass / http://xxx.xx.xxx.xx::8091/ nocanon
ProxyPassReverse / http://xxx.xx.xxx.xx:/:8091/
</VirtualHost>
- 配置apache2.conf,文件最后添加
Include httpd.conf
- 配置ports.conf
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
# 文件最后添加Listen 8080
Listen 8080
- 开启SSL、Proxy、Rewrite等模块:
cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/proxy.load
sudo ln -s ../mods-available/proxy.conf
sudo ln -s ../mods-available/proxy_http.load
sudo ln -s ../mods-available/proxy_balancer.conf
sudo ln -s ../mods-available/proxy_balancer.load
sudo ln -s ../mods-available/rewrite.load
sudo ln -s ../mods-available/ssl.conf
sudo ln -s ../mods-available/ssl.load
sudo ln -s ../mods-available/slotmem_shm.load
sudo ln -s ../mods-available/socache_shmcb.load
6. 安装java
- gerrit-2.15与java-11相匹配,需要在ubuntu18.04系统内安装java-11
sudo apt install default-jre # ubuntu-18.04默认安装java-11
- 查看java版本
gerrit@ubuntu18-04:~$ java --version
openjdk 11.0.19 2023-04-18
OpenJDK Runtime Environment (build 11.0.19+7-post-Ubuntu-0ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.19+7-post-Ubuntu-0ubuntu118.04.1, mixed mode, sharing)
7. 安装gitweb
sudo apt-get install gitweb
8. 安装gerrit
cd /home/gerrit
java -jar gerrit-2.15.22.war init -d review_site
安装过程按回车,选择默认选项即可
安装完成后,修改gerrit配置文件
vi review_site/etc/gerrit.config
注意修改端口号和ip地址
[gerrit]
basePath = git
serverId = 8ca9bab8-5e2b-426e-8de2-7e395a5f2051
canonicalWebUrl = http://xxx.xx.xxx.xx:8080/
[database]
type = h2
database = /home/gerrit/review_site/db/ReviewDB
[noteDb "changes"]
disableReviewDb = true
primaryStorage = note db
read = true
sequence = true
write = true
[index]
type = LUCENE
[auth]
type = HTTP
[oauth]
allowEditFullName = true
allowRegisterNewEmail = true
[receive]
enableSignedPush = false
[sendemail]
smtpServer = smtp.163.com
smtpServerPort = 465
smtpEncryption = SSL
sslVerify = true
smtpUser = ***@163.com # 需要在gerrit上注册邮箱并验证邮箱
smtpPass = *** # 邮箱授权码,不是密码,否则会报500 error
from = ***@163.com
[container]
user = gerrit
javaHome = /usr/lib/jvm/java-11-openjdk-amd64
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://*:8091/
[plugins]
allowRemoteAdmin = true
[cache]
directory = cache
[gitweb]
type = gitweb
cgi = /usr/lib/cgi-bin/gitweb.cgi
ps. 后续访问gerrit会使用 http://xxx.xx.xxx.xx::8080/
-
虚拟机ip地址变化后,需要重新修改配置文件的ip地址
-
新增管理员账号
$ touch review_site/passwords
$ sudo htpasswd -b review_site/passwords admin admin
Adding password for user admin
htpasswd 命令是 apache2-utils 软件包中的一个工具。如果系统中还没有安装的话,通过如下命令进行安装:
sudo apt-get install apache2-utils
后续再添加 Gerrit 用户可使用 htpasswd -b review_site/passwords UserName PassWord
- 重启Apache2和Gerrit
sudo review_site/bin/gerrit.sh restart
sudo /etc/init.d/apache2 restart
浏览器打开http://xxx.xx.xxx.xx::8080/,用第一个账号登录(第一个登陆成功的账号将会作为管理员账号)
安装完成后打开网站
添加Project ,Group,User就可以开始使用gerrit进行代码版本管理了。