gerrit gitlab 代码同步

张映 发表于 2020-09-29

分类目录: 技术其他

标签:, ,

gerrit在代码审核方面很突出,gitlab除了代码审核外,其他的都挺方便的。如果能将他们整合,将会是不错的选择。

1,gerrit安装replication插件

在安装gerrit的时候,就会让你选择插件,这里面就有replication插件,选择Y安装就好。

2,在gerrit所在的服务器生成公,私钥

# ssh-keygen -o -t rsa  -C "email@example.com"

3,在gitlab系统中,注册一个账号,把在gerrit服务器生产的公钥放到gitlab的SSH Keys中

4,在gerrit所在机器配置replication

# cat ~/gerrit/etc/replication.config
[remote "gerrit_test"]
projects = gerrit_test
url = git@gitlab.xxxxxxx.net:test/gerrit_test.git
push = +refs/heads/*:refs/heads/*
push = +refs/tags/*:refs/tags/*
push = +refs/changes/*:refs/changes/*
threads = 3

5,在gerrit机器,clone gitlab的项目

# cd ~/gerrit/git
# git clone --bare git@gitlab.xxxx.net:root/gerrit_test.git

6,登录gerrit的管理后台,创建根~/gerrit/git目录下同名的项目,会提示repo已存在,这个没关系。

7,重启gerrit

# cd ~/gerrit/bin
# ./gerrit.sh restart

8,测试gerrit与gitlab同步

# git clone "ssh://test@gerrit.xxxxx.com:29418/gerrit_test"
# git config user.name tank
# git config user.email xxxxx@qq.com
# git config remote.origin.push refs/heads/*:refs/for/*
# gitdir=$(git rev-parse --git-dir); scp -p -P 29418 tank@gerrit.xxxxx.com:hooks/commit-msg ${gitdir}/hooks/
# git commit --amend --no-edit
# git push

在gerrit审核通过,submit后,在gitlab就可以看到了。

 



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/other/2420.html