blueice 发表于 2018-1-10 23:51:07

配置gitlab 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到项目中,内容为:
  

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

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

  
# 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.csdn.net/stwstw0123/article/details/47615535
页: [1]
查看完整版本: 配置gitlab gerrit jenkins