Gerrit安装和使用说明

本文介绍如何在CentOS 6.5 x64环境下部署Gerrit代码审查系统,包括系统配置、数据库和服务器软件安装、Gerrit安装与配置、Apache反向代理配置等步骤,并详细说明Gerrit的使用流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搞了几天,资料也查了不少,终于磨出来了。有什么不对的地方,大家及时提出来。。。,开始吧

系统

Centos6.5 x64

内存

2G

硬盘

20G

数据库

Mysql5.1

服务器

Apache2.2

 

 

 

 

 

准备

复制代码
#yum update

#yum install git

#yum install java-1.7.0-openjdk.x86_64

#yum install mysql-server

#service mysqld start
复制代码

 

配置mysql

复制代码
#mysql –u root

-> CREATE USER 'gerrit'@'localhost' IDENTIFIED BY '123';

-> CREATE DATABASE reviewdb;

-> ALTER DATABASE reviewdb charset=latin1;

-> GRANT ALL ON reviewdb.* TO 'gerrit'@'localhost';

-> FLUSH PRIVILEGES;
复制代码

 

安装gerrit

安装文件见【附件】

1)一直选择默认enter(只有在选择数据库时选择MySQL,在选择验证方式时选http)

#java -jar gerrit-full-2.5.war init -d /var/gerrit-site

 

2)Gerrit配置文件如下:(默认路径:/var/gerrit-site/etc/gerrit.conf)

复制代码
[gerrit]
        basePath = git
        canonicalWebUrl = http://192.168.1.78:8081/
[database]
        type = MYSQL
        hostname = localhost
        database = reviewdb
        username = gerrit
[auth]
        type = HTTP
[sendemail]
        smtpServer = localhost
[container]
        user = root
        javaHome = /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64/jre
[sshd]
        listenAddress = *:29418
[httpd]
        listenUrl = proxy-http://192.168.1.78:8081/
[cache]
        directory = cache
复制代码

 

3 ) 添加用户,可以添加多个,这个用户是作为web页面的登陆用户使用的

# touch /var/gerrit-site/passwd

# htpasswd /var/gerrit-site/passwd  [new-user-name]

 

4) 启动、关闭、重启gerrit

# /var/gerrit-site/bin/gerrit.sh start

# /var/gerrit-site/bin/gerrit.sh stop

# /var/gerrit-site/bin/gerrit.sh restart

 

配置Apache

1)       配置反向代理

复制代码
/etc/httpd/conf/httpd.conf
…
<VirtualHost *:80>
  ServerName localhost
  ProxyRequests Off
  ProxyVia Off
  ProxyPreserveHost On

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  <Location /login/>
      AuthType Basic
      AuthName "Gerrit Code Review"
      AuthBasicProvider file
      AuthUserFile /var/gerrit-site/passwd
      Require valid-user
  </Location>

  ProxyPass / http://192.168.1.78:8081/
</VirtualHost>
复制代码

 

2)关闭selinux,需重启

# vi /etc/selinux/config
…
SELINUX=disable
…

 

或者,本次有效

# setenforce 0

 

3) 设置权限

# chown –R apache:apache /var/gerrit-site 

4) 关闭防火墙,让局域网用户访问

# service iptables stop

 

5) 重启httpd服务

# service httpd restart

 

Gerrit的使用

创建项目

创建branch

 

配置项目权限

项目评审过程中,需要几个条件,代码才能最终提交到分支

l  Review  >=+2

l  Verify   >=+1

所以如果配置为每人评审最多只能+1时,则必须最少两人才能完成评审过程,当然也可以让一个用户组可以一次性review +2

 

配置项目权限时需要根据需要进行配置,选好拥有权限的用户组

 

客户端获取代码

Git clone http://[ip]:[port]/[project-name].git

如git clone http://192.168.1.78/hello.git

添加或更改文件 提交审核

 

此处提交代码的位置有点奇怪:HEAD:refs/for/master,其实是gerrit规定的方式,最后的master是分支名称

提交代码的快捷方式:

[remote "review"]

  pushurl = http://192.168.1.78/hello.git

  push = HEAD:refs/for/master

这样以后就直接:

# git push review

其中用户密码在webui页面右上角的“setting”à”HTTP Password”

 

评审

进入评审界面

此时可以看到页面有“Review”按钮,点击即可评审代码

 

评审或确认

此时可以看到用户一次评审只能+1 这是在项目的access中设置的,此项目评审结果必须>=2才可以提交,所以必须由两个用户分别评审

 

确认合并

待满足gerrit对项目的要求(review >=2 verify >=1)后,页面中会出现“submit patch set 1”的按钮,点击将分支合并到主干中

 

用户会发现,提交完毕后,“revert change”按钮出现,也就是可以revert刚才的提交动作

 

重新获取代码

此时在其他地方重新获取项目的分支代码,即可看到代码更新过了

git pull origin master

<think>好的,用户需要查找关于Gerrit安装指南、教程或步骤。首先,我需要回忆一下Gerrit的基本安装流程,并结合提供的引用内容来组织回答。 根据引用[1],Gerrit的官方网站是重要的资源,应该首先推荐用户访问官网获取最新文档。接着,引用[2]提到了Gitweb的集成,虽然这不是安装的核心步骤,但可能涉及后续配置。引用[3]中的Nginx配置示例对设置反向代理很有帮助,安装过程中可能需要配置Web服务器。 接下来,我需要整理安装步骤。通常,Gerrit安装包括准备环境(Java、Git)、下载Gerrit WAR文件、初始化安装、配置数据库、设置反向代理(如Nginx),以及基本配置验证。需要确保每个步骤都清晰,并正确引用相关材料。例如,在数据库配置部分,可能需要提到引用[3]中的反向代理设置,而初始化步骤可以参考引用[1]的官方网站文档。 同时,用户可能遇到的问题包括Java版本不兼容、权限设置错误或反向代理配置不当,应该在注意事项中提醒这些点。最后,生成的相关问题需要围绕安装后的配置、优化常见问题解决,帮助用户进一步学习。</think>### Gerrit安装指南 Gerrit是一个基于Git的代码审查工具,以下是安装的核心步骤及注意事项: --- #### **1. 环境准备** - **Java环境**:确保安装Java 11或更高版本(推荐OpenJDK)[^1] - **Git版本**:安装Git 2.x及以上版本 - **数据库**:支持PostgreSQL、MySQL或内置H2数据库(生产环境建议使用外部数据库) --- #### **2. 下载Gerrit** 从官网下载最新WAR文件: ```bash wget https://gerrit-releases.storage.googleapis.com/gerrit-3.8.1.war ``` --- #### **3. 初始化安装** 执行交互式初始化命令: ```bash java -jar gerrit-3.8.1.war init --batch -d /path/to/gerrit_site ``` 参数说明: - `--batch`:跳过交互式配置(适合自动化部署) - `-d`:指定安装目录 --- #### **4. 数据库配置** 若选择外部数据库(以PostgreSQL为例): 1. 创建数据库用户 2. 修改`gerrit_site/etc/gerrit.config`: ```config [database] type = postgresql hostname = localhost database = gerrit username = gerrit_user ``` --- #### **5. 反向代理配置(以Nginx为例)** 参考引用[3]的配置示例,创建`/etc/nginx/conf.d/gerrit.conf`: ```nginx server { listen 80; server_name gerrit.example.com; location / { proxy_pass http://localhost:8081; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } } ``` 重启Nginx生效。 --- #### **6. 基础配置** - **认证方式**:在`gerrit.config`中设置LDAP、OAuth或OpenID - **邮件通知**:配置SMTP服务器以发送审核通知 - **插件管理**:通过`gerrit plugin install`命令安装必要插件 --- #### **7. 启动与验证** ```bash /path/to/gerrit_site/bin/gerrit.sh start ``` 访问`http://gerrit.example.com`,确认界面正常加载。 --- #### **注意事项** 1. 需开放8081(Gerrit服务端口)29418(Git协议端口) 2. 生产环境建议禁用H2数据库,改用MySQL/PostgreSQL 3. 定期备份`gerrit_site`目录下的配置数据 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值