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

   添加如下环境变量:

  1. JAVA_HOME=/opt/jdk1.6.0_38  -->安装路径
  2. export JRE_HOME=$JAVA_HOME/jre
  3. export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
  4. 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

  1. [gerrit]
  2. basePath = /home/gerrit/GerritResource    -->第5点创建的空目录
  3. canonicalWebUrl = http://10.10.90.160:8081/
  4. [database]
  5. type = H2                                 -->使用默认的H2数据库
  6. database = db/ReviewDB
  7. [auth]
  8. type = HTTP
  9. [sendemail]
  10. enable = true
  11. smtpServer = smtp.163.com
  12. smtpUser = <a target="_blank" href="mailto:abc@163.com">abc@163.com</a>      -->gerrit服务器用于发送邮件的邮箱
  13. smtpPass = email-passwd      -->邮箱密码
  14. from = <a target="_blank" href="mailto:abc@163.com">abc@163.com</a>           -->邮件中显示的发件人
  15. [container]
  16. user = gerrit
  17. javaHome = /opt/jdk1.6.0_38/jre
  18. [sshd]
  19. listenAddress = *:29418
  20. [httpd]
  21. listenUrl = proxy-http://10.10.90.160:8081/
  22. [cache]
  23. 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

  1. ServerName ganshuyu.pbi.com
  2. <VirtualHost *:8080>        -->客户端访问:http:10.10.90.160:8081 会转到gerrit服务器的地址:http://10.10.90.160:8080 上
  3. ProxyRequests Off
  4. ProxyVia Off
  5. ProxyPreserveHost On
  6. AllowEncodedSlashes On
  7. RewriteEngine On
  8. RewriteRule ^/(.*) http://10.10.90.160:8081/$1 [NE,P]
  9. <Proxy *>
  10. Order deny,allow
  11. Allow from all
  12. </Proxy>
  13. <Location /login/>
  14. AuthType Basic
  15. AuthName "Gerrit Code Review"
  16. Require valid-user
  17. AuthBasicProvider file
  18. AuthUserFile /home/gerrit/review_site/etc/passwd
  19. </Location>
  20. ProxyPass / http://10.10.90.160:8081/
  21. </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代码评审服务器已经搭建完成。接下来就需要完成往服务器里填充所需要管理的代码、制定代码入库流程、组员权限的分配等等更为精细的工作了。

Gerrit代码审核服务器搭建全过程的更多相关文章

  1. ubuntu搭建Gerrit代码审核服务器

    谷歌的 Android 开源项目在 Git 的使用上有两个重要的创新,一个是为多版本库协同而引入的 repo,另外一个重要的创新就是 Gerrit —— 代码审核服务器.Gerrit 为 git 引入 ...

  2. gerrit代码审核工具之“error unpack failed error Missing unknown”错误解决思路

    使用gerrit代码审核工具时遇到error: unpack failed: error Missing unknown d6d7c89bd1d77f44c5c8e99437aaffbfc0684e7 ...

  3. 软件测试-Svn服务器搭建全过程-基于Centos6.7-64bit

    本文详细介绍了在CentOs6.7-64bit服务器上搭建SVN版本控制服务 工具准备 CentOs6.7-64bit操作系统:关闭linux防火墙:设置定固IP--DHCP(动态):安装系统过程中开 ...

  4. Git服务器搭建全过程分步详解【转】

    转自:http://developer.51cto.com/art/201507/483448.htm GitHub是一个免费托管开源代码的Git服务器,如果我们不想公开项目的源代码,又不想付费使用, ...

  5. Git服务器搭建全过程

    GitHub是一个免费托管开源代码的Git服务器,如果我们不想公开项目的源代码,又不想付费使用,那么我们可以自己搭建一台Git服务器. 下面我们就看看,如何在Ubuntu上搭建Git服务器.我们使用V ...

  6. Git服务器搭建全过程分步详解

    GitHub是一个免费托管开源代码的Git服务器,如果我们不想公开项目的源代码,又不想付费使用,那么我们可以自己搭建一台Git服务器. 下面我们就看看,如何在Ubuntu上搭建Git服务器.我们使用V ...

  7. gerrit代码简单备份方案分享

    由于前期部署了gerrit代码审核系统,开发调整后的线上代码都放到gerrit上,这就要求我们要保证代码的安全.所以,对gerrit代码的备份至关重要! 备份的策略是:1)先首次将gerrit项目代码 ...

  8. ubuntu搭建gerrit+gitweb代码审核系统

    一.Gerrit的简介 Gerrit是Google开源的一套基于web的代码review工具,它是基于git的版本管理系统.Google开源Gerrit旨在提供一个轻量级框架,用于在代码入库之前对每个 ...

  9. 实战搭建SVN代码版本服务器

    前言:公司要求搭建一台SVN代码版本管理服务器,用于管理所有代码资产: 项目架构图 1.环境安装 [root@host_centos ~]#yum –y install subversion mod_ ...

随机推荐

  1. LeetCode 137. Single Number II(只出现一次的数字 II)

    LeetCode 137. Single Number II(只出现一次的数字 II)

  2. 关于node的path模块

    const path=require('path'); //basename('绝对路径','截取的后缀') 返回文件的扩展名 let a=path.basename('C:\\temp\\myfil ...

  3. BNUOJ 52503 Disdain Chain

    暴力,结论. 本打算写一发暴力,然后直接交答案,之后发现无论$n$等于多少,每种图都存在长度为$n$的路径,中间还一直以为自己暴力写错了. #include<bits/stdc++.h> ...

  4. Python协程(下)

    停止子线程 如果一切正常,那么上面的例子很完美.可是,需要停止程序,直接ctrl+c,会抛出KeyboardInterrupt错误,我们修改一下主循环: try: while True: task = ...

  5. Selenium快速入门(上)

    浏览器驱动下载 Edge浏览器 Firefox浏览器 Safari浏览器 Chrome浏览器 PhantomJS浏览器 下载完成之后,添加到环境变量. 声明浏览器对象 selenium支持的浏览器版本 ...

  6. RxJava 机制

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha rxjava 是  以 响应式 编程思想   编程的 java类库

  7. 【费用流】BZOJ1927-[Sdoi2010]星际竞速

    [题目大意] 有一些点,它们之间存在一些有向边(由编号小的到编号大的),从一点到另一点消耗时间为边长.也可以消耗Ti时间直接抵达任意一个点.问所有点都走一遍最少需要多少时间? [思路] ①将每个点i拆 ...

  8. Hive伪分布式下安装

    本安装过程只作为个人笔记用,非标准教程,请酌情COPY.:-D Hive下载 下载之前,需先查看兼容的Hadoop版本,并安装hadoop,参考 http://www.cnblogs.com/yong ...

  9. SqlServer项目经验:介质集有2个介质簇,但只提供了1个。必须提供所有成员

    在对数据库备份与还原的过程中,我遇到一个问题“介质集有2个介质簇,但只提供了1个.必须提供所有成员”,下面详细的介绍一下遇到问题的经过与问题解决的方法! 一.备份与还原遇到的问题描述与解决方法: 前两 ...

  10. 利用DC/DC开关调节器延长DSP系统的电池寿命 - 动态电压调节

    http://www.analog.com/zh/content/dc-to-dc_switching_regulator_insights/fca.html 作者:Sridhar Gurram,Ol ...