gerrit服务器搭建和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用户
<

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

被折叠的 条评论
为什么被折叠?



