您的位置:首页 > 编程语言

ubuntu搭建Gerrit代码审核服务器

2017-01-10 14:05 281 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: