环境

  • 操作系统:window10
  • 虚拟环境:VirtualBox + Ubuntu
  • 安装环境:
  • java openjdk-8-jdk 【gerrit现在只支持8及以下版本】
  • apache2
  • gerrit gerrit-2.16.7.war
  • git
  • gitweb

安装步骤

  1. 配置gerrit管理账号
  • 添加一个gerrit专用用户,后续配置gerrit用
sudo adduser gerrit
复制代码
  • 增加sudo权限
sudo usermod -a -G sudo gerrit
复制代码
  • 切换到gerrit账号
sudo su gerrit
复制代码
  1. 安装java环境
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
复制代码
  1. 安装git
sudo apt-get install git
复制代码
  1. 安装及配置apache2
  • 安装
sudo apt-get install apache2
复制代码
  • 配置
sudo vi /etc/apache2/httpd.con
复制代码

修改配置文件如下:

<VirtualHost *:8081>
     
    ServerName <此处是本机ip>
    
    ProxyRequests Off
    ProxyVia Off
    ProxyPreserveHost On
 
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
 
    <Location "/login/">
        AuthType Basic
        AuthName "Gerrit Code Review"
        Require valid-user
        AuthBasicProvider file
        AuthUserFile /home/gerrit/review_site/passwords
    </Location>
 
    AllowEncodedSlashes On
    
    ProxyPass / http://127.0.0.1:8091/ nocanon
 
</VirtualHost>
复制代码

如httpd.conf没有Include到apache2.conf中,需手动添加

sudo vi /etc/apache2/apache2.conf
复制代码

添加如下内容:

Include httpd.conf
复制代码

修改配置文件,添加对8081端口【也可以用别的端口,下面配置要同步】的监听

sudo vi /etc/apache2/ports.conf
复制代码

添加如下内容:

Listen 8081
复制代码
  1. 安装gitweb
sudo apt-get install gitweb
复制代码

可以通过如下代码,查看相关配置文件安装路径

dpkg -L gitweb
复制代码

注:在安装完gerrit后需要将gitweb配置到gerrit配置文件

  1. 安装及配置gerrit
  • 安装
  • 下载地址:www.gerritcodereview.com/
  • 本文用的版本是gerrit-2.16.7

在下载目录下,执行

java -jar gerrit-2.16.7.war init -d ~/review_site
复制代码

这里可以直接根据默认配置安装,后续修改配置文件

  • 配置
vi ~/review_site/etc/gerrit.config
复制代码

修改配置文件如下

[gerrit]
        basePath = git
        serverId = 02481fa0-9b63-4b6a-9869-8b4e2a4364ee
        canonicalWebUrl = <本地ip:8081> // gerrit默认地址
[database]
        type = h2 // 数据库类型
        database = /home/gerrit/review_site/db/ReviewDB
[auth]
        type = HTTP // gerrit身份验证类型
[receive]
        enableSignedPush = false
[sendemail]
        smtpServer = smtp.company.com
        smtpServerPort = ***
        smtpEncryption = ssl 
        smtpUser = user@company.com
        smtpPass = ******
        sslVerify = false 
        from = Code Review < gerrit@company.com >
[container]
        user = gerrit // Gerrit JVM将执行的操作系统用户的登录名
        javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre // 运行Gerrit的JRE/JDK安装路径
[sshd]
        listenAddress = *:29418 // 指定内部SSHD监听的URL
[httpd]
        listenUrl = proxy-http://*:8091/ // 指定内部HTTP守护程序监听的URL
[cache]
        directory = cache
[gitweb] // gitweb配置
        type = gitweb
        cgi = /usr/lib/cgi-bin/gitweb.cgi
复制代码

注: gitweb集成gerrit后,默认只有管理员用户才能查看gitweb超链接,普通用打开链接后页面显示 Not Found。如果想给普通的用户查看gitweb超链接的权限,则必须对项目设置refs/meta/config 的read权限。而这个权限在All-Projects的ACL里只对Administrators用户和Project Owners开放

  1. 重启gerrit和apache2
sudo ~/review_site/bin/gerrit.sh restart // 重启gerrit
sudo /etc/init.d/apache2 restart // 重启apache2
复制代码
  1. 访问gerrit 管理界面

在浏览器中输入 http://<ip地址>:8081 打开gerrit管理页面;

在输入框中输入htpasswd设置的账号及密码即可登陆。