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

1、免密登录配置

创建CentOS gerrit用户的ssh key

ssh-keygen -t -C rsa "[email protected]"

当前用户的.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 [email protected]: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。

猜你喜欢

转载自my.oschina.net/huangchp/blog/1821834
今日推荐