固定链接 在滴滴云 DC2 上搭建 Gerrit 代码审查工具

在滴滴云 DC2 上搭建 Gerrit 代码审查工具

在滴滴云 DC2 上搭建 Gerrit 代码审查工具

Gerrit 是一个基于 Web 的代码评审工具,它基于 Git版本控制系统。Gerrit 旨在提供一个轻量级框架,用于在代码入库之前对每个提交进行审阅。更改将上传到 Gerrit,但实际上并不成为项目的一部分,直到它们被审阅和接受。

Gerrit 是标准开源过程的一个简单工具,用来支持提交补丁程序,然后由项目成员在应用到代码库之前进行评审。Gerrit 事实上是一个临时区域,在提交的代码成为代码库的一部分之前,团队成员可以对其修改进行检查。

安装步骤

首先,需要在滴滴云上购买一台云主机。

由于安装 Gerrit 需要 JDK8、MySQL 和 Nginx 反向代理,因此在这里可以直接选择一键部署镜像——“Java on CentOS:7.4 集成软件:JDK 1.8.0/Mariadb(Mysql) 5.5.56/Tomcat 7.0.76/Nginx 1.12.2”,该镜像已经为用户默认安装好了 JDK8、MariaDB 等依赖软件,无需用户再花额外的时间和精力去安装。

云主机选择 2核 4G内存 40G磁盘的规格。

现在就可以开始 Gerrit 的搭建了。

建库

Gerrit 默认使用 H2 内嵌数据库,但是在大型项目组中并不推荐,为了方便后期管理和交互,在安装的过程中我们使用 MySQL 数据库。

这里我们需要创建 Gerrit 用户和 ReviewDB 数据库,因此需要以 root 账号登录:

修改 root 账号密码:

最后,杀掉 MariaDB 进程并重启服务(如果杀不掉则可以直接在滴滴云控制台重启 VM)。

接下来,就可以创建 Gerrit 账号和数据库了:

安装 Gerrit

现在进行到 Gerrit 的初始化交互界面,除了 SQL Database 选择 MySQL,其他地方都选择默认的即可。

同时在初始化过程中如果遇到一些需要的包,会提示你进行下载:

Gerrit 在一个本地目录中存储配置文件、服务器 SSH key 和需要管理的 Git 仓库(site_path),这里的 site_path 为 ~/gerrit。

初始化完成之后,可以在 ~/gerrit/etc/gerrit.config 中查看配置文件,如下所示:

现在就可以通过浏览器进行登录了 VMIP:8081。

对于 Gerrit 来说,第一个成功登录的用户具有特殊意义,它会直接被赋予管理员权限。

配置 Nginx 反向代理

为了通过更为强大的 Web 服务器来对外提供服务,同时方便 Gerrit Server 的 HTTP 用户认证方式可以正常工作,需要设置Nginx反向代理。

首先更改 Gerrit 配置,使之能够起到代理的效果;另外,使用反向代理后就可以直接使用 Nginx 的 80 端口访问了,需要把 canonicalWebUrl 中的 8080 去掉,Gerrit Server 监听的端口也改为 8081。

Gerrit Server 强制要求使用反向代理,通过反向代理服务器提供的 Authorization 等 HTTP 头来获得用户认证信息。

最后配置 Nginx,修改 Nginx 的配置文件 /etc/nginx/nginx.conf,在它的 HTTP 块中加入如下内容:

修改之后,让 Nginx 重新加载配置文件,这样就可以直接通过 Nginx 监听的 80 端口访问 Gerrit Server 了。

总结

Gerrit 是一种基于 Web 的代码评审工具,结合 Git 和浏览器,能够显示代码的每一步变化,使项目组代码协作、CodeReview 变得更加容易了。

本文在滴滴云 DC2 一键部署镜像的基础上,快速搭建了 Gerrit 工具,希望能够帮助到有此需求的项目团队。

本文作者:李比

您的留言将激励我们越做越好