gerrit 部署手册

创建专属系统用户

Gerrit code review推荐使用一个独立的用户执行操作,当然这不是必须的。但是这个用户必须具有对配置中设定的git路径持有读写权限!

下载安装包

wget http://gerrit-releases.storage.googleapis.com/gerrit-2.8.war

目前最新版本2.12

安装依赖项

apt-get install default-jre daemon

apt-get install apache2-utils

创建数据库

Gerrit需要使用数据库保存系统数据。这里我们使用mysql,在数据库中创建数据库,gerrit默认数据库名为reviewdb,可以使用其他的名称。

安装

java -jar gerrit-2.8.war init -d /etc/gerrit/

gerrit-2.8.war文件为你下载的安装包;

/etc/gerrit/ 是安装目标路径,该路径必须具有读写权限!

步骤如下:

# java -jar gerrit-2.8.war init -d /etc/gerrit/

*** Gerrit Code Review 2.8

***

Create ‘/etc/gerrit‘           [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.21

**  This library is required for your configuration. **

Download and install it now [Y/n]? y

Downloading http://repo2.maven.org/maven2/mysql/mysql-connector-java/5.1.21/mysql-connector-java-5.1.21.jar ... OK

Checksum mysql-connector-java-5.1.21.jar OK

Server hostname                [localhost]:

Server port                    [(mysql default)]:

Database name                  [reviewdb]: gerritdb

Database username              [root]: gerrituser

gerrituser‘s password          :

confirm password :

*** User Authentication

***

Authentication method          [OPENID/?]: http

Get username from custom HTTP header [y/N]? n

SSO logout URL                 :

*** Email Delivery

***

SMTP server hostname           [localhost]: smtp.googlemail.com

SMTP server port               [(default)]: 587

SMTP encryption                [NONE/?]: tls

SMTP username                  [root]: [email protected]

[email protected]‘s password  :

confirm password :

*** Container Process

***

Run as                         [root]:

Java runtime                   [/usr/lib/jvm/java-6-openjdk-amd64/jre]:

Copy gerrit-2.8.war to /etc/gerrit/bin/gerrit.war [Y/n]? y

Copying gerrit-2.8.war to /etc/gerrit/bin/gerrit.war

*** SSH Daemon

***

Listen on address              [*]:

Listen on port                 [29418]:

Gerrit Code Review is not shipped with Bouncy Castle Crypto v144

If available, Gerrit can take advantage of features

in the library, but will also function without it.

Download and install it now [Y/n]? y

Downloading http://www.bouncycastle.org/download/bcprov-jdk16-144.jar ... OK

Checksum bcprov-jdk16-144.jar OK

Generating SSH host key ... rsa... dsa... done

*** HTTP Daemon

***

Behind reverse proxy           [y/N]? y

Proxy uses SSL (https://)      [y/N]? n

Subdirectory on proxy server   [/]:

Listen on address              [*]:

Listen on port                 [8081]: 8082

Canonical URL                  [http://www.thstack.com/]: http://review.thstack.com/

*** Plugins

***

Install plugin reviewnotes version v2.8 [y/N]? y

Install plugin download-commands version v2.8 [y/N]? y

Install plugin replication version v2.8 [y/N]? y

Install plugin commit-message-length-validator version v2.8 [y/N]? y

Initialized /etc/gerrit

Executing /etc/gerrit/bin/gerrit.sh start

Starting Gerrit Code Review: OK

Waiting for server on review.thstack.com:80 ... OK

Opening http://review.thstack.com/#/admin/projects/ ...FAILED

Open Gerrit with a JavaScript capable browser:

http://review.thstack.com/#/admin/projects/

配置

多数步骤可以直接回车使用默认参数,仅有几处需要小心:

Location of Git repositories:该路径时仓库路径,如果想包含已有的git仓库路径,那么应该使用这个路径,并且,gerrit运行用户必须具有该路径的读写权限!否则gerrit将无法登陆。

Database server type:使用的数据库类型,默认是gerrit自带的h2。

Authentication method:gerrit使用的用户认证方式,默认是OPENID,这是一种使用第三方的账户信息的认证方式,比如使用yahoo!,google,amazon等。另外一种就是http方式,这个在后面的用户会讲到。

Email Delivery:邮件服务配置,可以使用默认。

Run as:Gerrit运行用户,这里就是用到了之前新建的专属用户。

SSH Daemon:Gerrit自带一个独立的ssh服务,所以这里配置的是这个ssh服务器的监听信息,包括地址,以及端口。地址可以默认,端口也可以默认29418,自己也可以配置,但是不要低于1024.另外外部必须能够访问该端口!

HTTP Daemon:Behind reverse proxy:apache2反向代理,应该设定为y。使用反向代理时,必须确保apache2相应的组件可用!后面会讲到。

HTTP Daemon:Listen on port:http运行端口,这里使用的端口应该与反向代理的端口设定为不同的值,否则浏览器无法访问。

Apache2配置

1 <VirtualHost *:20002>

2

3     ProxyRequests Off

4     ProxyVia Off

5     ProxyPreserveHost On

6

7

8     <Proxy *>

9         Order deny,allow

10         Allow from all

11     </Proxy>

12

13     <Location /login/>

14         AuthType Basic

15         AuthName "Gerrit Code Review"

16         Require valid-user

17         AuthUserFile /home/gerrit/gerrit-site/bin/password

18     </Location>

19

20     ProxyPass / http://127.0.0.1:8081/

21 </VirtualHost>

Password file

Apache2配置中存在一个AuthUserFile路径,这个是用于执行http认证方式的,因为在安装时【Authentication method】参数设定为http方式。这个文件如果不存在则应该创建之。

这个文件用于保存gerrit用户数据,包括用户名和密码,密码使用了MD5加密方式保存。不要手动修改该文件!

第一个用户将会成为gerrit系统管理员账户,创建用户时使用如下命令:

htpasswd -b your/passwd/file username password

所有的gerrit用户应该在这里添加!否则其他用户无法登陆gerrit.用户第一次登陆gerrit时,gerrit自动保存用户信息到数据库中!请勿直接修改数据库!

请运行htpasswd --help查看详情。

启动

安装完后需要自己手动启动gerrit服务,启动前请确保相应的路径的权限以及数据库。

运行安装目录下的bin/gerrit.sh脚本。

./gerrit.sh stop:停止服务

./gerrit.sh start:启动服务

./gerrit.sh restart:重启服务

./gerrit.sh run:调试运行,可以实时查看运行日志,可以使用这个方法调试问题。

详细信息运行./gerrit.sh help查看。

启动后如果存在如下提示文本,说明启动成功:

Starting Gerrit Code Review: OK

如果不是的话,那么说明部署失败!

FQA

FQA1

查看apache2运行日志:

AH01144: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.

说明是apache2反向代理组件未启用!执行以下命令:

a2enmod proxy

a2enmod proxy_http

sudo service apache2 restart

FQA2

Gerrit未启动!

FQA3

[2016-02-29 03:31:32,159] ERROR com.google.gerrit.httpd.restapi.RestApiServlet : Error in GET /accounts/self/preferences

java.lang.IllegalStateException: Missing project All-Projects

设置的git路径的权限有问题,运行gerrit的用户必须有该目录的读写权限!

FQA4

ssh: connect to host 96.224.86.210 port 29418: Connection refused

该端口未开放或者gerrit服务未启动!

FQA5

Sign Out Failure

也许你会发现用gerrit+HTTP认证,通过web登陆后,点击右上角的Sign Out无法登出。要么是依然保持登陆的状态,要么就是直接出错。

不要以为怎么了,其实这是正常现象,以下这段话是从网上看到的:You are using HTTP Basic authentication. There is no way to tell abrowser to quit sending basic authentication credentials, to logout with basicauthentication is to close the Webbrowser.

时间: 2024-11-13 10:18:36

gerrit 部署手册的相关文章

System Center 2016 Data Protection Manager 部署手册

1. 环境描述 活动目录服务器 计算机名:SH-DC-01 Active Directory:365vCloud.net IP地址:192.168.100.2/24 操作系统:Windows Server 2016 中文标准版 已安装角色:ADDS活动目录服务 SCDPM服务器 计算机名:SH-SCDPM-01 Active Directory:365vCloud.net IP地址:192.168.100.7/24 操作系统:Windows Server 2016 中文标准版 已安装角色:无 2

System Center Configuration Manager,Version1606 部署手册

1. 环境描述 活动目录服务器 计算机名:SH-DC-01 所在域名或工作组名称:365vCloud.net IP地址:192.168.100.2/24 操作系统:Windows Server 2016 中文标准版 已安装角色:ADDS活动目录服务 SCCM中心站点服务器(CAS) 计算机名:SH-SCCM-01 所在域名或工作组名称:365vCloud.net IP地址:192.168.100.4/24 操作系统:Windows Server 2016 中文标准版 已安装角色:无 SCCM主站

storm集群部署手册

一.  准备 1.  硬件 三台装好RHEL6.7_x64的x86服务器,机器名如下 storm01 storm02 storm03 2.  软件 jdk-7u80-linux-x64.rpm apache-storm-1.0.1.zip 3.  zookeeper storm需用到zookeeper,开始安装前先安装好zookeeper,参照zookeeper集群部署手册 4.  Python storm需用到python,一般Linux都有python,这里需要python 2.6.6,如没

Mysql上的RAC:Percona XtraDB Cluster负载均衡集群安装部署手册

 Percona XtraDB Cluster安装部署手册 引言 编写目的 编写此文档,供PerconaXtraDB Cluster部署时使用. 预期读者 系统维护人员及实施人员. 编制依据及参考资料 目标 通过阅读该手册,让读者明确PerconaXtraDB Cluster的安装.配置和维护情况,为后续数据库运维工作提供指导. 应用部署方案 环境准备 服务器列表 序号 IP 用途 HOSTNAME 操作系统 1 192.168.0.7 Percona XtraDB Cluster RedHat

LVS+MYCAT+读写分离+MYSQL主备同步部署手册

LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1         编辑my.cnf文件… 2 1.2.2         重启数据库… 2 1.3       锁定主数据库DDL操作… 2 1.4       主备已有数据同步… 2 1.5       停止从服务… 3 1.6       配置备用数据库… 3 1.6.1         编辑my

【转载】LVS+MYCAT+读写分离+MYSQL主备同步部署手册(邢锋)

By leo | 2015/05/13 0 Comment LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1         编辑my.cnf文件… 2 1.2.2         重启数据库… 2 1.3       锁定主数据库DDL操作… 2 1.4       主备已有数据同步… 2 1.5       停止从服务… 3 1.6      

OpenKM安装部署手册

安装下载JDK1.6.0 下载Eclipse  Juno软件(http://eclipse.org/downloads/packages/release/juno/sr2) Eclipse Juno (Eclipse IDE for Java EE Developers) at http://eclipse.org/juno/ 3.  通过Eclipse MarketPlace搜索下载 "Maven"--"Maven Integeration for Eclipse WTP(

Linux操作系统中FastDFS部署手册

关于Linux操作系统中FastDFS部署手册 1.       部署环境 关于本次FastDFS_3.11版本的部署实验环境如下表所示: FastDFS部署环境 类别 OS FastDFS 机器台数 备注 版本 RedHat_Linux.5.4-x86_64 FastDFS_v3.11 2 表格 1 2.       组件和包安装 安装开发工具和所需的开发包 配置yum升级服务或安装系统时选择安装相关的依赖组件,这里使用yum对包进行安装,如下所示: yum groupinstall-y "d

SVN分级授权部署手册 --Windows用户认证

http://wenku.baidu.com/view/a0a16ea34028915f804dc2f8.html 第一章 概述 当VisualSVN 2.7采用Windows用户认证或Windows域认证时,可以使用SVN分级授权工具对VisualSVN的授权功能进行扩展,实现SVN库的创建.分库的分级授权.SVN用户密码修改等.本手册主要描述Windows用户认证的配置方法,关于采用Windows域认证的配置方法请参考<SVN分级授权工具部署手册--Windows域认证>. 第二章 安装部