1、免密登录配置
创建CentOS gerrit用户的ssh key
ssh-keygen -t rsa -C "gerrit@XX.com"
当前用户的.ssh目录下会生成id_rsa,id_rsa.pub,复制id_rsa.pub的内容,添加到Gitlab管理员账号下。
2、创建Grttit工程
管理员登录Gerrit,创建testA,工程名与远程git工程名一致,工程默认被保在:
/home/gerrit/gerrit_site/git
删除testA,克隆远程git库的工程
git clone --bare git@192.168.1.11:gerrits/gerrit-review.git
这时的Gerrit相当于Gitlab的镜像或备份
3、设置 ~/.ssh/config
Host 192.168.1.11
IdentityFile ~/.ssh/id_rsa
PreferredAuthentications publickey
这里的Host指定的Gitlab的地址。
4、配置replication.config
文件保存在:/home/gerrit/gerrit_site/etc
[remote "gerrit-review"]
url = git@192.168.1.11:gerrits/${name}.git
push = +refs/heads/*:refs/heads/*
push = +refs/tags/*:refs/tags/*
push = +refs/changes/*:refs/changes/*
threads = 3
这里${name}表示Gitlab所有工程,添加这个文件后要restart Gerrit。
5、将Gerrit的变更提交到Gitlab
前面说了,Gerrit相当于Gitlab的镜像或备份,用户不可以直接提交Gitlab,所以我们在clone工程时,clone Gerrit工程
git clone ssh://admin@127.0.0.1:29418/gerrit-review.git
这样提交更改后先提交到Gerrit,再同步至Gitlab。
来源:oschina
链接:https://my.oschina.net/u/587677/blog/1821834