配置gitlab gerrit jenkins

本文介绍如何配置Gerrit与GitLab之间的项目同步,包括创建项目、SSH配置、设置复制规则等步骤,并指导如何配置Gerrit与Jenkins的集成,实现自动化构建。

 

配置gerrit

在gerrit创建jenkins用户

把jenkins用户加入Non-Interactive的组中

  • Projects -> List -> All-Projects
  • Projects -> Access -> Edit -> 找到 Reference: refs/heads/* 项 -> Add Permission -> Label Verified-> Group Name 里输入 Non-Interactive Users -> 回车 或者 点击Add 按钮 -> 在最下面点击 Save Changes 保存更改

 

配置gitlab和gerrit

先在gitlab创建一个project1

然后在gerrit上创建一个project1

ssh -p 29418 admin@gerrit.wenbin.com gerrit create-project project1

这样就在gerrit页面可以看到project1这个,当然也可以直接在页面创建,这样会在默认的git目录下看到project1.git这个文件

然后删除掉这个project1.git

从gitlab上clone这个project1的bare到相同位置,取代gerrit的

git clone --bare git@gitlab.zjc.com:dev-group/test-project1.git

然后把admin(gerrit的)的public 可以上传到gitlab

克隆一个项目,添加一个.gitreview文件,然后push到项目中,内容为:

[gerrit]
host=gerrit.wenbin.com
port=29418
project=project1.git

 

在gerrit的安装目录,我的是review_init下的etc下创建replication.config

[remote "project1"]
  # Gerrit project1      
  projects = project1
  url = git@gitlab.wenbin.com:group/project1.git
  push = +refs/heads/*:refs/heads/*
  push = +refs/tags/*:refs/tags/*
  push = +refs/changes/*:refs/changes/*
  threads = 3

然后重启gerrit,如果报错,可能是ssh可以的原因,把gitlab的私钥放到gerrit用户的knowhost就ok了

这样提交到gerrit后,review后会自动同步到gitlab那里。

 

配置jenkins和gerrit

htpasswd /htpasswds jenkins

把jenkins用户需要用的.ssh(gerrit的admin用户的.ssh ,public key要放到gerrit的页面)放到jenkins的用户目录下(/var/lib/jenkins/),因为jenkins要拿代码。

 

jenkins 安装gerrit trigger,ssh over publish插件

配置应该是小事了,jenkins如果添加工程自动trigger gerrit的时候设置稍微麻烦点,其实就是

  et Refspec to refs/changes/*:refs/changes/* and 'Branches to build' to $GERRIT_REFSPEC

 

参考

http://blog.youkuaiyun.com/stwstw0123/article/details/47615535

 

转载于:https://www.cnblogs.com/juandx/p/5357073.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值