搭建code review gerrit服务器

一.Gerrit简介

Gerrit是Google为Android系统研发量身定制的一套免费开源的代码审核系统,它在传统的源码管理协作流程中强制性引入代码审核机制,通过人工代码审核和自动化代码验证过程,将不符合要求的代码屏蔽在代码库之外,确保核心代码多人校验、多人互备和自动化构建核验
https://www.gerritcodereview.com/

二.搭建开源code review gerrit服务器

1.环境准备

1.Java环境

gerrit依赖,用于安装gerrit环境。

下载:jdk-7u79-linux-x64.tar.gz

安装:sudo
tar zxvf ./jdk-7u79-linux-x64.tar.gz -C /opt
配置:vim
~/.bashrc(针对当前用户) or vim /etc/profile(针对所有用户,推荐)
export
JAVA_HOME=/opt/jdk1.7.0_79
export
JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = JAVA_HOME/jre export CLASSPATH= JAVAHOME/jreexportCLASSPATH=JAVA_HOME/lib: J R E H O M E / l i b : JRE_HOME/lib: JREHOME/lib:CLASSPATH
export
PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME/bin:$PATH

验证:java-version
java
version “1.7.0_79”
Java™
SE Runtime Environment (build 1.7.0_79-b15)
Java
HotSpot™ 64-Bit Server VM (build 24.79-b02, mixed mode)
如果验证不成功重启机器机试一下

2.git环境

gerrit依赖,用来操作git repository。

安装:sudo
apt-get install git

验证:git --version

git version 1.9.1

3.gerrit环境

下载:Gerrit
2.12.4 https://www.gerritcodereview.com/2.12.html

4.apache2环境

安装:sudo
apt-get install apache2

sudo
apt-get install apache2-utils

卸载命令 sudo
apt-get --purge remove apache2

验证:sudo
/etc/init.d/apache2 start

5.gerrit管理帐号(可选,使用独立账号配置gerrit)

gerrit依赖,用来管理gerrit。

sudo
adduser gerrit

sudo
passwd gerrit

配置gerrit账户密码

sudo
touch /etc/apache2/passwords

sudo htpasswd
-b /etc/apache2/passwords admin 123456(管理员)

6.安装与配置gerrit

1.配置gerrit

默认安装:java
-jar gerrit-2.12.4.war init --batch -d ~/review_site

更新配置文件:sudo
vim ~/review_site/etc/gerrit.config

[gerrit]

    basePath = git #默认gerrit对应的git库

    canonicalWebUrl = http://192.168.133.128:8081/

#gerrit web管理界面

[database]

    type = h2 #h2数据库

    database = /home/name/review_site/db/ReviewDB

[index]

    type = LUCENE

[auth]

    type = HTTP #auth模式,默认为OPENID,配置为HTTP,需要apache配置反向代理

[receive]

    enableSignedPush = false

[sendemail]

enable=false #关闭邮件提醒

[container]

    user = gerrit #linux user for gerrit

    javaHome = /opt/jdk1.7.0_79/jre #java

home

[sshd]

    listenAddress = *:29418 #default gerrit

port

[httpd]

    listenUrl = http://*:8091/

[cache]

    directory = cache

按照如上内容配置完 Gerrit Server 之后,可以通过如下命令重新启动它以应用新的配置:

在home/name/路径下: review_site/bin/gerrit.sh restart

sudo
~/review_site/bin/gerrit.sh restart

2.配置apache2反向代理

如果apache目录结构如下:

name@ubuntu:/etc$
ls -l apache2/

开启SSL、Proxy、Rewrite等模块:

开启代理功能、复写功能(以下模块链接到mods-available)

cd
/etc/apache2/mods-enabled

sudo ln
-s …/mods-available/proxy.load

sudo ln
-s …/mods-available/proxy.conf

sudo ln
-s …/mods-available/proxy_http.load

sudo ln
-s …/mods-available/proxy_balancer.conf

sudo ln
-s …/mods-available/proxy_balancer.load

sudo ln
-s …/mods-available/rewrite.load

sudo ln
-s …/mods-available/ssl.conf

sudo ln
-s …/mods-available/ssl.load

sudo ln
-s …/mods-available/socache_shmcb.load

sudo ln
-s …/mods-available/slotmem_shm.load

配置apache2的监听端口

sudo vi
/etc/apache2/ports.conf

#添加端口的监听

Listen
8081 //这里的8081端口号是上面配置的Apache2反射端口

sudo vi
/etc/apache2/httpd.conf

<VirtualHost
*:8081>

serverName 192.168.133.128

ProxyRequests Off



ProxyVia Off



ProxyPreserveHost On



AllowEncodedSlashes On



RewriteEngine On





<Proxy *>



      Order deny,allow



      Allow from all



</Proxy>







<Location /login/>



    AuthType Basic



    AuthName "Gerrit Code Review"



    Require valid-user



    AuthBasicProvider file



    AuthUserFile /etc/apache2/passwords



</Location>







ProxyPass / http://127.0.0.1:8091/

主配置文件中加入httpd.conf,使其生效

$: sudo
vi /etc/apache2/apache2.conf

查看是否已包含:httpd.conf,如果没有,则加上如下这句话:

Include
httpd.conf

ServerName
localhost:80

7.安装配置gitweb

下载安装gitweb

sudo
apt-get install gitweb

查看相关配置文件的安装路径

dpkg -L
gitweb

/usr/lib/cgi-bin/gitweb.cgi

打开gerrit的config:

sudo vi ~/review_site/etc/gerrit.config

添加从上面路径的最后一行

[gitweb]

type = gitweb

cgi = /usr/lib/cgi-bin/gitweb.cgi

8.启动gerrit&启动apache2

sudo
~/review_site/bin/gerrit.sh start

sudo
/etc/init.d/apache2 start

9.访问gerrit 管理界面 http:// 192.168.133.128:8081/

10. 设置gerrit服务开机自启动

sudo ln
-snf /home/name/review_site/bin/gerrit.sh /etc/init.d/gerrit.sh

sduo ln
-snf /etc/init.d/gerrit.sh /etc/rc2.d/S90gerrit

sduo ln
-snf /etc/init.d/gerrit.sh /etc/rc3.d/S90gerrit

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值