Gerrit简易安装入门

简介

Gerrit 是一个基于 Web 的代码评审和项目管理的工具,面向基于 Git 版本控制系统的项目.

 

下文以gerrit-2.1.7-rc1在Ubuntu10.04上的安装为例:

创建Gerrit用户(可选)

$ sudo adduser gerrit2
$ sudo su gerrit2
$ cd ~gerrit2

安装Gerrit

下载gerrit-$version-rc1.war;

执行:

$ java -jar gerrit-$version-rc1.war init -d review_site 

命令行交互的安装过程如下:

Create '/home/gerrit2/review-site' [Y/n]?

*** Git Repositories
***

Location of Git repositories [git]:

*** SQL Database
***

Database server type [H2/?]:

*** User Authentication
***

Authentication method [OPENID/?]: http   
Get username from custom HTTP header [y/N]? :
SSO logout URL : 

*** Email Delivery
***

SMTP server hostname [localhost]: 
SMTP server port [(default)]:
SMTP encryption [NONE/?]:
SMTP username [gerrit2]: 
jushi@taobao.com's password :
confirm password :

*** Container Process
***

Run as [gerrit2]:
Java runtime [/usr/lib/jvm/java-6-sun-1.6.0.24/jre]:
Copy gerrit.war to /home/gerrit2/review-site/bin/gerrit.war [Y/n]?
Copying gerrit.war to /home/gerrit2/review-site/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]? 
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]? 
Subdirectory on proxy server   [/]: 
Listen on address              [*]: 
Listen on port                 [8081]: 

Initialized /home/gerrit2/review-site
Executing /home/gerrit2/review-site/bin/gerrit.sh start
Starting Gerrit Code Review: OK

上面大部分的回答是用回车默认的, 值得注意的地方有:

  1. 认证方式没有选择OpenId, 而是http, 因为这样会使得gerrit对外部系统有依赖, 目前gerrit支持google和yahoo提供的openid, 进试用均不稳定(也许是托GFW福);
  2. SMTP配置中,请选择合适的服务地址和帐号;
  3. 选择需要反向代理支持, 这和http认证有关;
  4. 配置完后, 安装脚本会自动启动gerrit.

配置Apache2反向代理

$ sudo apt-get install apache2

在/etc/apache2/httpd.conf中加入一下内容

<VirtualHost *>
  ServerName gerrit2.example.com
  ProxyRequests Off
  ProxyVia Off
  ProxyPreserveHost On

  <Proxy *>
        Order deny,allow
        Allow from all
  </Proxy>
 
  <Location /login/>
     AuthType Basic
     AuthName "Gerrit Code Review"
     AuthBasicProvider file
     AuthUserFile $gerrit.home/etc/passwords
     Require valid-user
  </Location>

  ProxyPass / http://$gerrit.host:8081/
</VirtualHost>

注意, ProxyPass中$gerrit.host最好用服务器对外的ip地址代替.

创建访问Gerrit的用户

由于是通过apache进行http basic认证, 故账户创建使用类似下面的命令即可:

$ htpassword $gerrit.home/etc/passwords $username

注册访问Gerrit的用户

使用上面创建的帐号, 登录http://$gerrit.host,浏览器会自动跳转至注册页面, 输入Full Name, 保存;

这里顺便可完成公钥的上传

ssh key

点击Continue, 完成注册.

创建项目

添加公钥后, 最好在$User.Home/.ssh中创建文件config, 里面输入以下内容:

Host $shortname
User $username
Port 29418
Hostname $gerrit.host
IdentityFile $path/to/private/key$

这个文件是可选的, 只是为了方便执行ssh命令. 

创建项目就通过下面的命令完成:

$ ssh $gerrit.host gerrit create-project -n $project.name

这个命令会在$gerrrit.home/git下初始一个bare库, 相应的在webUI中也可看到新建的项目了.

更多命令行, 请见这里.

其他

上述大部分内容参考了这篇blog,你也可以看看. 剩下的就靠官方文档和Google了, Good luck!



http://my.oschina.net/zhongl/blog/33017

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值