Gerrit代码审核服务器搭建全过程
Gerrit代码审核服务器搭建全过程
转载请标明出处:http://blog.csdn.net/ganshuyu/article/details/8978614
环境:Ubuntu12.xx
1、建立专有帐户
sudo adduser gerrit
sudo passwd gerrit
su gerrit
2、配置Java环境
从官网下载对应平台的JDK并安装:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
安装:
sudo tar zxvf ./jdk-7u45-Linux-i586.tar.gz -C /opt
完成后,配置相关环境变量
$: vim ~/.bashrc
添加如下环境变量:
- JAVA_HOME=/opt/jdk1.6.0_38 -->安装路径
- export JRE_HOME=$JAVA_HOME/jre
- export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
- export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
3、从官网下载gerrit
http://code.google.com/p/gerrit/
4、安装gerrit
java -jar gerrit-full-2.5.2.war init -d review_site
一路按回车,先以默认方式安装,之后再手动修改配置文件。
5、建立存放代码的目录
$:mkdir /home/gerrit/GerritResource
6、配置gerrit
$: vim review_site/etc/gerrit.config
- [gerrit]
- basePath = /home/gerrit/GerritResource -->第5点创建的空目录
- canonicalWebUrl = http://10.10.90.160:8081/
- [database]
- type = H2 -->使用默认的H2数据库
- database = db/ReviewDB
- [auth]
- type = HTTP
- [sendemail]
- enable = true
- smtpServer = smtp.163.com
- smtpUser = <a target="_blank" href="mailto:abc@163.com">abc@163.com</a> -->gerrit服务器用于发送邮件的邮箱
- smtpPass = email-passwd -->邮箱密码
- from = <a target="_blank" href="mailto:abc@163.com">abc@163.com</a> -->邮件中显示的发件人
- [container]
- user = gerrit
- javaHome = /opt/jdk1.6.0_38/jre
- [sshd]
- listenAddress = *:29418
- [httpd]
- listenUrl = proxy-http://10.10.90.160:8081/
- [cache]
- directory = cache
7、安装apache2服务器
sudo apt-get install --reinstall apache2 apache2.2-common
8、配置apache2服务器
8.1、开启代理功能、复写功能(以下模块链接到mods-available)
cd /etc/apache2/mods-enabled
ln -s ../mods-available/proxy.load
ln -s ../mods-available/proxy.conf
ln -s ../mods-available/proxy_http.load
ln -s ../mods-available/proxy_balancer.conf
ln -s ../mods-available/proxy_balancer.load
ln -s ../mods-available/rewrite.load
ln -s ../mods-available/ssl.conf
ln -s ../mods-available/ssl.load
8.2、配置apache2的监听端口
$: vi /etc/apache2/ports.conf
……
NameVirtualHost *:80
NameVirtualHost *:8080 -->仿照80端口,加上对8080端口的监听。
Listen 80
Listen 8080
……
8.3、配置反向代理
$: sudo vi /etc/apache2/httpd.conf
- ServerName ganshuyu.pbi.com
- <VirtualHost *:8080> -->客户端访问:http:10.10.90.160:8081 会转到gerrit服务器的地址:http://10.10.90.160:8080 上
- ProxyRequests Off
- ProxyVia Off
- ProxyPreserveHost On
- AllowEncodedSlashes On
- RewriteEngine On
- RewriteRule ^/(.*) http://10.10.90.160:8081/$1 [NE,P]
- <Proxy *>
- Order deny,allow
- Allow from all
- </Proxy>
- <Location /login/>
- AuthType Basic
- AuthName "Gerrit Code Review"
- Require valid-user
- AuthBasicProvider file
- AuthUserFile /home/gerrit/review_site/etc/passwd
- </Location>
- ProxyPass / http://10.10.90.160:8081/
- </VirtualHost>
8.4、主配置文件中加入httpd.conf,使其生效
$: sudo vi /etc/apache2/apache2.conf
查看是否已包含:httpd.conf,如果没有,则加上如下这句话:
Include httpd.conf
9、设置第一个gerrit用户的帐号和密码
$: touch ./review_site/etc/passwd
$: htpasswd -b ./review_site/etc/passwd gerritUser1 123456789
(后续再添加gerrit用户可使用: $: htpasswd -b ./review_site/etc/passwd UserName PassWord )
10、开启gerrit服务器
$: ./review_site/bin/gerrit.sh start
如果提示发生如下错误:
** ERROR: GERRIT_SITE not set
则可按如下方法修改:
$: vim gerrit.sh
在GERRIT_SITE变量被赋值之后加入下面这行,改变该变量的值。
GERRIT_SITE=/home/gerrit/review_site
11、重启apache2服务器
$: sudo /etc/init.d/apache2 restart
12、访问: http://10.10.90.160:8080/ ,用gerritUser1用户登录:
至此,一个gerrit代码评审服务器已经搭建完成。接下来就需要完成往服务器里填充所需要管理的代码、制定代码入库流程、组员权限的分配等等更为精细的工作了。