【Git】代码托管评审平台--gerrit|Gerrit Code Review

目录

前言

Gerrit简介

Gerrit安装

如何使用gerrit

​​​​​​​添加项目

已有项目与gerrit上建立的exist-project关联

git客户端访问gerrit

在网页完成code review

在gerrit 网页查看自己的提交记录

注意事项

gerrit的使用和配置

2. 配置Gerrit

2.1 获取账号和密码

2.2 注册邮箱

2.3 填写FullName

2.4 配置 SSH key

2.5 配置ssh下的config文件来管理ssh连接

2.6 配置git中的username和email

2.7 配置gerrit上代码commit的模板

Gerrit(2)图形介绍


前言

原文:关于Gerrit code review 介绍与安装;https://www.cnblogs.com/chenpingzhao/p/9337117.html

代码审核(Code Review)是软件研发质量保障机制中非常重要的一环,但在实际项目执行过程中,却因为种种原因被Delay甚至是忽略。在实践中,给大家推荐一款免费、开放源代码的代码审查软件Gerrit。

 Code Review是什么

本地写代码 --->git push origin HEAD:refs/for/xxx推到gerrit平台托管,要请人员评审

---->评审人员code view,没有问题,点同意---->gerrit把代码push到远程仓。

Gerrit简介

Gerrit是Google为Android系统研发量身定制的一套免费开源的代码审核系统,它在传统的源码管理协作流程中强制性引入代码审核机制,通过人工代码审核和自动化代码验证过程,将不符合要求的代码屏蔽在代码库之外,确保核心代码多人校验、多人互备和自动化构建核验。

Gerrit之前的系统架构:

Gerrit之后的系统架构:

通过Gerrit机制将代码做分隔。

Gerrit适用性

几乎任何需要正式发布的项目都应当使用Gerrit来进行代码审查,如果Team中有新人,必须使用Gerrit确保代码质量。

工作流程

使用过git的同学,都知道,当我们git add --> git commit --> git push 之后,你的代码会被直接提交到repo,也就是代码仓库中,就是图中橘红色箭头指示的那样。

那么gerrit就是上图中的那只鸟,普通成员的代码是被先push到gerrit服务器上,然后由代码审核人员,就是左上角的integrator在web页面进行代码的审核(review),可以单人审核,也可以邀请其他成员一同审核,当代码审核通过(approve)之后,这次代码才会被提交(submit)到代码仓库(repo)中去。

无论有新的代码提交待审核,代码审核通过或被拒绝,代码提交者(Contributor)和所有的相关代码审核人员(Integrator)都会收到邮件提醒。


gerrit还有自动测试的功能,和主线有冲突或者测试不通过的代码,是会被直接拒绝掉的,这个功能似乎就是右下角那个老头(Jenkins)的任务。

整个流程就是这样。 在使用过程中,有两点需要特别注意下:

  1. 当进行commit时,必须要生成一个Change-Id,否则,push到gerrit服务器时,会收到一个错误提醒。
  2. 提交者不能直接把代码推到远程的master主线(或者其他远程分支)上去。这样就相当于越过了gerrit了。 gerrit必须依赖于一个refs/for/*的分支。

    假如我们远程只有一个master主线,那么只有当你的代码被提交到refs/for/master分支时,gerrit才会知道,我收到了一个需要审核的代码推送,需要通知审核员来审核代码了。
    当审核通过之后,gerrit会自动将这条分支合并到master主线上,然后邮件通知相关成员,master分支有更新,需要的成员再去pull就好了。而且这条refs/for/master分支,是透明的,也就是说普通成员其实是不需要知道这条线的,如果你正确配置了sourceTree,你也应该是看不到这条线的。

这两点很重要!!这两点很重要!!这两点很重要!!

Gerrit安装

3.1. 环境准备

  • ①. Linux,Gerrit需要Linux环境,ubuntu 或者  centos,这里使用Ubuntu;

  • ②. JDK,使用1.7版本就行

  • ③. MySQL,其实这个非必须,Gerrit自带的有H2数据库

  • ④. nginx/apache,作为认证和反向代理服务器;

  • ⑤. Maven, 在安装的过程中会下载一些jar文件;

  • ⑥. Git,用来拉取代码

3.2 java环境安装

下载:jdk-7u79-linux-x64.tar.gz JavaSE Upgrade

安装:sudo tar zxvf ./jdk-7u79-linux-x64.tar.gz -C /opt

配置:vim ~/.bashrc(针对当前用户) or vim /etc/profile(针对所有用户,推荐)

export JAVA_HOME=/opt/jdk1.7.0_79
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

验证:

java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

3.3 git环境

gerrit依赖,用来操作git repository

1

sudo apt-get install git

3.4 下载gerrit

1

wget  https://www.gerritcodereview.com/download/gerrit-2.12.4.war

3.5 apache2安装

1

sudo apt-get install apache2

验证:

1

service apache2 start

3.6 gerrit管理帐号

gerrit依赖,用来管理gerrit。

1

2

sudo adduser gerrit

sudo passwd gerrit

并将gerrit加入sudo权限

1

sudo visudo

gerrit  ALL=(ALL:ALL) ALL (为了测试方便,开最大权限)

3.7 配置gerrit

默认安装:

1

java -jar gerrit-2.12.4.war init --batch -d ~/review_site

更新配置文件:sudo vim ~/review_site/etc/gerrit.config

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

[gerrit]

        basePath = git

        canonicalWebUrl =

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Git Gerrit是一种代码审核工具,它结合了Git版本控制系统和Gerrit代码评审系统。使用Git Gerrit可以实现团队对代码的审查和管理,提高代码质量和开发效率。 在使用Git Gerrit管理代码时,首先需要配置Git用户名和电子邮件地址,确保与Gerrit上注册的信息一致。然后,可以使用命令`git clone`将项目代码克隆到本地。 为了在提交时加入change-id,可以使用以下命令将commit-msg脚本添加到Git钩子中。这是Gerrit流程所必需的。 ``` gitdir=$(git rev-parse --git-dir) scp -p -P 29418 admin@192.168.1.168:hooks/commit-msg ${gitdir}/hooks/ ``` 在准备提交代码之前,可以使用`git add`命令将修改的文件添加到暂存区,然后使用`git commit`命令提交更改。 当准备将代码上传到Gerrit进行代码评审时,可以使用命令`git push origin HEAD:refs/for/branch_name`将本地分支的代码推送到Gerrit上进行评审。其中,branch_name是目标分支的名称。 如果你在使用Git Gerrit过程中遇到问题,可以到公众号"嵌入式linux阿财"留言交流。这本书提供了更多关于使用Git Gerrit管理代码的详细信息和指导。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [手把手教你搭建自己的git+gerrit代码评审服务器](https://blog.csdn.net/qq_41922569/article/details/121866686)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [git&gerrit代码提交](https://blog.csdn.net/lanyue1/article/details/79591665)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值