部署Gerrit
同事要求部署一套代码审核环境,code review 选择google 的Gerrit, 部署gerrit的详情如下:
操作系统:CentOS Linux release 7.0.1406 (Core)
需要提前安装好:
gerrit 历史版本下载地址:
http://gerrit-releases.storage.googleapis.com/index.html
创建gerrit数据库
mysql>create database gerritdb CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql>grant all on gerritdb.* to 'gerrit'@'localhost' identified by 'scapital.66';
mysql>exit
添加账号
useradd gerrit
su - gerrit
在root账户下操作
mkdir -p /home/gerrit/gerrit_site
chown -R gerrit:gerrit /home/gerrit/
接着在gerrit账号下进行安装
除了选用mysql数据库,Verified,http认证代理,其他的都是默认!
java -jar gerrit-2.14.2.war init -d ~/gerrit_site/
详细步骤如下
Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore
[2017-09-19 10:31:54,191] [main] INFO com.google.gerrit.server.config.GerritServerConfigProvider : No /home/gerrit/gerrit_site/etc/gerrit.config; assuming defaults
*** Gerrit Code Review 2.14.2
***
Create '/home/gerrit/gerrit_site' [Y/n]? Y
*** Git Repositories
***
Location of Git repositories [git]:
*** SQL Database
***
Database server type [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
Downloading https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.41/mysql-connector-java-5.1.41.jar ... OK
Checksum mysql-connector-java-5.1.41.jar OK
Server hostname [localhost]:
Server port [(mysql default)]:
Database name [reviewdb]: gerritdb
Database username [gerrit]: gerrit
gerrut's password :
confirm password :
*** Index
***
Type [LUCENE/?]:
*** User Authentication
***
Authentication method [OPENID/?]: http
Get username from custom HTTP header [y/N]?
SSO logout URL :
Enable signed push support [y/N]?
*** Review Labels
***
Install Verified label [y/N]? y
*** Email Delivery
***
SMTP server hostname [localhost]: smtp.exmail.qq.com
SMTP server port [(default)]: 465
SMTP encryption [NONE/?]: ssl
SMTP username [gerrit]: [email protected]
[email protected]'s password :
confirm password :
*** Container Process
***
Run as [gerrit]:
▽
[gerrit]
Java runtime [/usr/lib/jvm/jdk1.8.0_144/jre]:
Copy gerrit-2.14.2.war to /home/gerrit/gerrit_site/bin/gerrit.war [Y/n]?
Copying gerrit-2.14.2.war to /home/gerrit/gerrit_site/bin/gerrit.war
*** SSH Daemon
***
Listen on address [*]:
Listen on port [29418]:
Generating SSH host key ... rsa... dsa... ed25519...unknown key type 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]: 8081
Canonical URL [http://iZ2zec9sxrqzrn6dzkssjkZ:8081/]: http://10.188.188.234:8081
*** Cache
***
*** Plugins
***
Installing plugins.
Install plugin commit-message-length-validator version v2.14.2 [y/N]? t^H
Install plugin commit-message-length-validator version v2.14.2 [y/N]?
Install plugin download-commands version v2.14.2 [y/N]?
Install plugin hooks version v2.14.2 [y/N]?
Install plugin replication version v2.14.2 [y/N]?
Install plugin reviewnotes version v2.14.2 [y/N]?
Install plugin singleusergroup version v2.14.2 [y/N]?
Initializing plugins.
No plugins found with init steps.
排错处理,由于centos start-stop-daemon 的版本过低,而start.sh 的启动脚本使用了它来做守护进程启动
如果报:
Starting Gerrit Code Review: start-stop-daemon: invalid option -- 'd'
dpkg是debian 的开发套件包
yum install dpkg
再次启动
/home/gerrit/gerrit_site/bin/gerrit.sh start