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. NoSql数据库 设计上面的一些心得

    NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 用户信息表,书籍信息表,用户为书籍打分信 ...

  2. Python网络管理模块Paramiko-代码实例

    import paramiko import time import sys ip = "10.1.1.1" username = "Admin" passwo ...

  3. Markdown 格式如何转换成 Word?

    参考资料:https://www.zhihu.com/question/22972843/answer/136008865 markdown语法简洁,写作效率极高,非常适合网络博客.邮件.笔记等非正式 ...

  4. PHP获取客户端请求头信息

    获取HTTP请求头信息 Apache 如果web服务器用的是apache,可以直接用php的库函数getallheaders() Nginx 如果web服务器用的是nginx,则无法直接使用getal ...

  5. XML XSD XSL区别与联系

    XML: XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准 ...

  6. SPOJ694 DISUBSTR --- 后缀数组 / 后缀自动机

    SPOJ694 DISUBSTR 题目描述: Given a string, we need to find the total number of its distinct substrings. ...

  7. tarjan算法+缩点--cojs 908. 校园网

    cojs 908. 校园网 ★★   输入文件:schlnet.in   输出文件:schlnet.out   简单对比时间限制:1 s   内存限制:128 MB USACO/schlnet(译 b ...

  8. apose 根据excel 导出模版

    string file = Server.MapPath("~/Excel/ZWxxtj.xls");            DataSet ds = new DataSet(); ...

  9. Codeforces Round #245 (Div. 2) B. Balls Game 并查集

    B. Balls Game Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/430/problem ...

  10. MySQL单表恢复方法

    正休息的时候一个电话将我的睡意完全打散,“开发童鞋写update SQL的时候忘了加where条件了”,相信每一个DBA同学听到这个消息的时候都有骂街的冲动吧.万幸只是单表写花了,而不是哪位大神在DB ...