部署Gerrit

同事要求部署一套代码审核环境,code review 选择google 的Gerrit, 部署gerrit的详情如下:

操作系统:CentOS Linux release 7.0.1406 (Core)

需要提前安装好:

  1. Nginx (待写)
  2. MySQL(安装MySQL)
  3. JAVA (安装JAVA)

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

results matching ""

    No results matching ""