Gerrit

Gerrit

Gerrit

介绍

gerrit(官网https://www.gerritcodereview.com/))是代码评审code-review 工具,对于核心配置或者合并代码的时候,有利于double check,之前puppet和 nginx的配置等都可以通过gerrit来控制,通过控制提交者、reviewer这种组, 来实现double check,保护master分支和发布流程,gerrit可以是一个中转站, 也可以是一个仓库。

安装

jdk

jdk安装可以安装openjdk或者oracle的jdk,这里不再详述,如果是openjdk需要 把1.8.0的卸载了,安装java-11-openjdk,否则可能会报错

安装git并创建gerrit用户

1
2
3
yum -y install git  #使用源管理工具安装git
adduser gerrit
su - gerrit

下载war包并运行

1
wget https://gerrit-releases.storage.googleapis.com/gerrit-3.5.0.war  #(这个自己想办法)

初始化

1
2
java -jar ~/gerrit-3.1.3.war init --batch --dev  --install-all-plugins -d review_xx # 这里是初始化,注意我这里安装了所有插件,并指明家目录~/review_wd
git config --file ~/review_xx/etc/gerrit.config httpd.listenUrl 'http://localhost:8081' # 这里改为gerrit访问主页为8081

admin用户添加

注意需要再admin界面的时候添加本地生成的公私钥对

1
2
ssh -p 29418 admin@127.0.0.1 gerrit set-members Administrators --add xxx
ssh  -p 29418 admin@127.0.0.1 gerrit set-account admin --generate-http-password

gerrit的大部分操作可通过ssh这种方式处理 -h可以显示帮助信息

FAQ

无法启动gerrit Cannot find a JRE or JDK. Please ensure that the JAVA_HOME environment

Cannot find a JRE or JDK. Please ensure that the JAVA_HOME environment variable or container.javaHome in /home/gerrit/gerrit-wdops/etc/gerrit.config is

系统更新以后gerrit.config里面需要更新下java_home

gerrit项目初始化

在gerrit界面新建好项目以后,在gerrit安装家目录,git里面删掉那个git

1
git clone --bare git@GIT_SERVER:xxx/mytest.git

这样的目的是保持gerrit的项目是一个最新的状态。否则在git review的时候gerrit会报错

会提示没有ancent相关的refs

参考文档