gerrit服务器搭建和gitlab自动同步(一)

本文介绍了Gerrit的作用,它是一个轻量级的代码评审框架,强调团队对分支的维护。与GitLab相比,Gerrit更注重权限隔离和强制评审。安装Gerrit需要Ubuntu Server 21.04、OpenJdk8等组件,配置包括创建用户、安装JDK、Nginx等。文章详细展示了Gerrit的安装步骤,包括初始化配置和Nginx代理设置。最后,建议使用GitLab作为更符合大多数人习惯的版本管理工具。

gerrit简介

在gerrit搭建之前我们先了解一下gerrit的作用,以至于我们可以更好的理解它与其他git版本库的区别。

代码审查对不同的人意味着不同的东西。对一些人来说,这是一次与设计师或一个团队一行一行过代码的正式会议。对其他人来说,就是在提交代码之前,让别人浏览一下代码。

Gerrit的目的就是为代码提交到代码库之前提供一个评审的轻量级框架。代码提交到Gerrit上之后,实际上并没有真正被项目接受,直到被评审通过。

Gerrit在代码被正式接受之前,为代码检查设置了一个staging area,在这里可以对该提交进行修改、讨论、增加注释……

分布式进行、不需要面对面操作

对比gitlab的区别

gitlab的特点

  • 是一个人维系一个分支。
  • 提供了比较多的选择,可以根据需要创建project,每个团队可以根据自己的需求管理自己的代码,方式更加的灵活。
  • 是以merge request作为一次review,merge request中可能包含多个 commit,如果review不通过也不需要发起另一次merge request。
  • 可以选择公开代码,团队间可以看到互相的代码,有利于团队的协作。
  • 可以提供issues,wiki等功能方便开发者与使用者之间的沟通,并且gitlab可以无缝的与一些项目管理工具集成,比如:jira,repo。

gerrit的特点

  • 是一个团队维系一个分支。(这里的分支对应一个业务需求)
  • 比较单一,而且权限配置比较复杂,往往都是要联系管理员做出修改,每个团队很难做到对代码的个性化管理。
  • 是以commit作为一次review,由于changeId的存在,可以对一次commit反复的进行review。
    如果task划分的粒度够细的话,并不会影响各个团队的review习惯。
  • 由于权限控制问题,只能在权限范围内公开代码。
  • 这个方面比较欠缺。

总结

gerrit作为谷歌管理安卓项目的版本管理工具还是有其优点的,
多部门之间的权限隔离,强制review的机制都是其优点,
反观gitlab作为github的开源版,遵循了一套开源的流程,比较符合大多数人得习惯。
所以,通过比较,推荐使用gitlab作为版本管理工具,并且不与gerrit做集成。

gerrit安装准备

  • Ubuntu Server 21.04
  • OpenJdk8
  • Nginx
  • apache2-utils
  • gerrit

1.Ubuntu Server 21.04

首先选择安装的服务器,在此以Ubuntu server21.04为例,当然你们也可以选择桌面版。具体安装自行查阅。
服务器准备好之后,我们最好创建一个专有用户运行gerrit服务。 在此我们单独创建了gerrit用户:

sudo adduser gerrit  			# 创建gerrit用户
sudo usermod -aG sudo gerrit    # 赋予sudo管理权限
su gerrit						# 切换到gerrit用户

2.OpenJdk8

其次,需要安装jdk,在gerrit运行的时候需要jdk8支持, 有的gerrit版还需要安装更高版本的jdk。所以需要安装jdk8及更高级别的jdk才行。 在这里我们下载的gerrit是3.0.0版本,因此jdk8就已经全部支持安装和运行了。

sudo apt install -y openjdk-8-jdk

注意

对应gerrit-3.3.0以上版本好像需要安装jdk8及jdk8以上的更高级别的。
高级别的jdk是用于安装gerrit负责会报错,jdk8只负责运行gerrit。

3.Nginx安装

nginx服务用于代理访问gerrit的管理服务,用于用户访问gerrit的入口。

sudo apt install -y nginx

4.apache2-utils

安装Apache工具用于添加gerrit用户

<
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值