系统部署
注意事项
操作系统: Linux。 请提前更新镜像源:sudo apt-get update
。
安装环境
可通过apt-get
命令安装所有软件:
sudo apt-get install oracle-java8-install curl dirmngr git gitweb gnupg libcgi-pm-perl netcat procmail openssh-client wget
创建gerrit用户(默认创建/home/gerrit
用户目录)
sudo adduser gerrit
下载war包
将下载的war包拷贝至/home/gerrit/gerrit-x.xx.xx.war
国内下载
你可以在以下网址查看所有gerrit版本:https://gerrit-releases.storage.googleapis.com/
(注意:打开是一个xml)
选择你要下载的版本,在网址后添加gerrit-${GERRIT_VERSION}.war
即可下载,如:
gerrit-2.14.9.war
下载地址为:https://gerrit-releases.storage.googleapis.com/gerrit-2.14.9.war
官网下载
进入官网下载:https://www.gerritcodereview.com/
注意
官网是外国网站,需要翻墙才能访问。
安装系统
安装数据库
若使用系统默认的h2数据库,则无需安装。这里我们改为使用mysql数据库,因此需要安装mysql服务。
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
2
3
安装完以后,进入mysql创建gerrit数据库:
# mysql -uroot -p
mysql> CREATE USER 'gerrit2'@'localhost' IDENTIFIED BY 'password';
mysql> CREATE DATABASE reviewdb DEFAULT CHARACTER SET 'utf8';
mysql> GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost';
mysql> FLUSH PRIVILEGES;
2
3
4
5
安装系统
java -jar /home/gerrit/gerrit-2.14.9.war init -d /home/gerrit/review_site
提示
以上初始化方式需自己指定配置,若想使用默认配置,则可以加入--batch
参数,如:
java -jar /home/gerrit/gerrit-2.14.9.war init --batch -d /home/gerrit/review_site
按照提示输入初始化参数:
*** Gerrit Code Review 2.14.9
***
Create '/home/gerrit/review_site' [Y/n]? (找不到初始化目录,询问是否创建,直接回车确认即可)
*** Git Repositories
***
Location of Git repositories [git]: (本地git目录地址,直接回车确认即可)
*** SQL Database
***
Database server type [h2]: mysql(指定数据库,默认为h2,改为mysql)
Gerrit Code Review is not shipped with MySQL Connector/J 5.1.41
** This library is required for your configuration. **
Download and install it now [Y/n]? y(下载mysql数据库驱动,选择是;
也可以选择否,后续自己下载对应版本的jdbc驱动拷贝至【review_site/lib】目录下,
下载地址:http://central.maven.org/maven2/mysql/mysql-connector-java)
Server hostname [localhost]: (mysql地址,直接回车确认即可)
Server port [(mysql default)]: (mysql端口,直接回车确认即可)
Database name [reviewdb]: (数据库名,直接回车确认即可)
Database username [xxxxxx]: gerrit(数据库用户名,改为:gerrit)
gerrit's password : (输入数据库密码)
confirm password : (重复输入数据库密码)
*** Index
***
Type [lucene/?]: (索引类型,直接回车确认即可)
*** User Authentication
***
Authentication method [openid/?]: (登录类型,直接回车确认即可)
Enable signed push support [y/N]? (直接回车确认即可)
*** Review Labels
***
Install Verified label [y/N]? (直接回车确认即可)
*** Email Delivery
***
SMTP server hostname [localhost]: (邮箱信息,直接回车确认即可)
SMTP server port [(default)]: (直接回车确认即可)
SMTP encryption [none/?]: (直接回车确认即可)
SMTP username :
*** Container Process
***
Run as [xxxx]: gerrit (以gerrit用户运行)
Java runtime [/usr/lib/jvm/java-8-oracle/jre]: (java_home,直接回车确认即可)
Copy gerrit-2.14.9.war to /home/gerrit/review_site/bin/gerrit.war [Y/n]? (直接回车确认即可)
Copying gerrit-2.14.9.war to /home/gerrit/review_site2/bin/gerrit.war
*** SSH Daemon
***
Listen on address [*]: (直接回车确认即可)
Listen on port [29418]: (直接回车确认即可)
Generating SSH host key ... rsa... dsa... ed25519... ecdsa 256... ecdsa 384... ecdsa 521... done
*** HTTP Daemon
***
Behind reverse proxy [y/N]? (直接回车确认即可)
Use SSL (https://) [y/N]? (直接回车确认即可)
Listen on address [*]: (直接回车确认即可)
Listen on port [8080]: (直接回车确认即可)
Canonical URL [http://ubuntu:8080/]: (直接回车确认即可)
*** Cache
***
*** Plugins
***
Installing plugins.
(是否安装插件,选择:【y】,这些插件是系统必需的)
Install plugin commit-message-length-validator version v2.14.9 [y/N]? y
Install plugin download-commands version v2.14.9 [y/N]? y
Install plugin hooks version v2.14.9 [y/N]? y
Install plugin replication version v2.14.9 [y/N]? y
Install plugin reviewnotes version v2.14.9 [y/N]? y
Install plugin singleusergroup version v2.14.9 [y/N]? y
Initializing plugins.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
错误
若初始化出现问题,可以重复执行init
命令,重新配置。
初始化后,/home/gerrit/review_site/etc/gerrit.config
配置如下:
[gerrit]
basePath = git
serverId = dbd2d673-51c7-4542-8e88-5f28c0537589
canonicalWebUrl = http://localhost:8080/
[database]
type = mysql
hostname = localhost
database = reviewdb
username = gerrit
[download]
scheme = ssh
[index]
type = LUCENE
[auth]
type = OPENID
# 用户登录方式,调试时可以修改为以下配置,线上不可使用
# type = development_become_any_account
[receive]
enableSignedPush = false
[sendemail]
smtpServer = localhost
[container]
user = gerrit
javaHome = /usr/lib/jvm/java-8-oracle/jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://*:8080/
[cache]
directory = cache
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
30
配置文件参数,请参考 配置文件。可以自己手动修改配置,然后重启系统:
/home/gerrit/review_site/bin/gerrit.sh restart
域名配置
可见:【你的系统】->【Documentation】->【Table of Contents】->【 Reverse Proxy】,或网上别人的系统文档
1. Gerrit配置
配置文件 $site_path'/etc/gerrit.config
修改以下配置:
[gerrit]
canonicalWebUrl = http://www.example.com/gerrit/
[httpd]
listenUrl = proxy-http://*:8080/gerrit/
2
3
4
之后重启系统:$site_path'/bin/gerrit.sh restart
2. 代理配置
a) Apache2
提示
添加配置前,请安装Apache2:sudo apt-get install apache2
。
- 执行以下命令,确保所需模块被开启:
sudo a2enmod proxy_http
sudo a2enmod ssl # 可选,使用 HTTPS / SSL 时必需
2
- 修改配置文件
/etc/apache2/sites-available/000-default.conf
,添加端口转发(以下加黑部分):
<VirtualHost *:80>
# ... default settings ...
# Add gerrit proxy
ServerName www.example.com
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
AllowEncodedSlashes On
ProxyPass /gerrit/ http://127.0.0.1:8080/gerrit/ nocanon
</VirtualHost>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 重启apache2:
sudo service apache2 restart
之后访问网站+/gerrit/
即可进入系统,如:www.example.com/gerrit/
b) Nginx
配置如下:
server {
listen 80;
server_name review.example.com;
location /gerrit/ {
proxy_pass http://127.0.0.1:8081;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
}
}
2
3
4
5
6
7
8
9
10