CentOS配置Gerrit Gitlab Jenkins--Gerrit与Gitlab(4)

假如想象 提交于 2019-12-01 04:25:14

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。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!