ubuntu搭建Gerrit代码审核服务器

来源:互联网 发布:温州网络问政 排名 编辑:程序博客网 时间:2024/05/21 07:46

1.流程描述见下图所示:


2.创建gerrit用户

sudo adduser gerrit
#给用户添加sudo权限
chmod u+w /etc/sudoers
sudo vi /etc/sudoers
#在root ALL=(ALL) ALL添加下面一行
gerrit ALL=(ALL) ALL
su gerrit

3.安装Gerrit需要装有最低1.6版本的JDK。git。这里不再描述如何安装。

4.下载gerrit
https://gerrit-releases.storage.googleapis.com/gerrit-2.12.war

5.安装Gerrit

java -jar gerrit-2.11.war init -d review_site

Location of Git repositories [git]: /home/gerrit/repositories
默认用h2的数据库
Authentication method [OPENID/?]: http
其他选项在安装后改配置文件。
/home/gerrit/review-gerrit/etc,这里贴出gerrit.config文件:
[gerrit]
basePath = /home/gerrit/prj-source
canonicalWebUrl = http://192.168.1.6:10000
[database]
type = h2
database = db/ReviewDB
[auth]
type = HTTP
[sendemail]
smtpServer = localhost
[container]
user = root
javaHome = /usr/lib/jvm/java-6-openjdk-amd64/jre
[sshd]
listenAddress = *:29418
[httpd]
listenUrl = http://*:10000

6.Apache的反向代理

首先简单描述一下反向代理的基础:反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,
并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

例如我们想通过PC浏览器去访问http://192.168.1.6:9999,就是一个反向代理。在/home/gerrit/review-gerrit/etc/gerrit.config中,我们配置gerrit端口bind在10000,为啥外部通过访问端口9999,就可以打开gerrit的web页面?

原因就是Apache的反向代理功能。那就开始配置Apache吧!

a.第一步,要在Apache上新增端口9999,用户监听网络事件。修改配置文件/etc/apache2/ports.conf。
NameVirtualHost *:80
Listen 80
Listen 9999

b.第二步,增加反向代理的配置。/etc/apache2/sites-enabled/000-default

ServerName 192.168.1.6
ProxyPreserveHost On
ProxyRequests Off Order deny,allow
Allow from all
AuthType Basic
AuthName “Welcomme to Gerrit Code Review Site!”
Require valid-user
AuthUserFile /home/gerrit/review-gerrit/htpasswd.conf

ProxyPass / http://192.168.1.6:10000/
proxyPassReverse / http://127.0.0.1:10000/

c.完成以上配置,则成功。然后restart Apache和gerrit服务即可
/etc/init.d/apache2 start
/etc/init.d/apache2 restart
/etc/init.d/apache2 stop

sudo ./home/gerrit/reviwe_site/bin/gerrit.sh start

启动apache出现错误:Invalid command ‘ProxyPreserveHost’ …… :
sudo a2enmod proxy_http
sudo a2enmod proxy
sudo service apache2 restart

7.然后在pc浏览器上输入:http://localhost:9999/,则启动gerrit

网上说用nginx更简单,但我一直没有成功,出现错误:

Configuration Error

Check the HTTP server’s authentication settings.

8.gerrit自启动服务


添加/etc/default/gerritcodereview文件,其内容如下:


GERRIT_SITE=/home/gerrit/review_site


然后


# ln -sf /home/gerrit2/review/bin/gerrit.sh /etc/init.d/gerrit

# ln -sf /etc/init.d/gerrit /etc/rc3.d/S90gerrit

9.开启gerrit服务器
      $: ./review_site/bin/gerrit.sh start

        如果提示发生如下错误:
         ** ERROR: GERRIT_SITE not set
        则可按如下方法修改:
             $: vim gerrit.sh
        在GERRIT_SITE变量被赋值之后加入下面这行,改变该变量的值。
             GERRIT_SITE=/home/gerrit/review_site


http://blog.csdn.net/coder80/article/details/48176559
http://blog.csdn.net/chenjh213/article/details/49304733
http://easy-develop.net/Apache/solved


0 0