gerrit integrate with jenkins

连通性

创建Gerrit非交互账号(Non-Interactive Users)

建好Gerrit中的jenkins用户后,将其加入组:Non-Interactive Users

该组默认就已有监听Stream Events权限,所以不需要像其他一些教程那样额外单独建Event Streaming Users组的步骤。Steam Events的原理是:Gerrit收到代码提交后,会以event的形式发给Jenkins,从而触发Jenkins自动构建。

安装及配置Gerrit Trigger

通过Plugin Manager安装Git Plugin和Gerrit Trigger(会自动连带安装SSH Agent Plugin),不需要装其他带Gerrit字样的插件。

Job 配置

新建job(或叫project,1.551里也叫item)后,Source Code Management小节配置如下:

  1. Repository URL根据实际环境中Gerrit提供的git repo地址填写;
  2. Refspec=$GERRIT_REFSPEC(点开Advanced可见)
  3. Branch Specifier=$GERRIT_BRANCH。
  4. Additional Behaviors 添加一个Strategy for choosing what to build,选 Gerrit Trigger。
  5. 构建触发器选择gerrit event,下方的gerrit trigger上的配置Compound ‘Name And Email’ Parameters 建议选择do not add.否则构建时(例如使用maven时)很可能出错。诸如此类Jenkins传参数给Gerrit的问题后续还有多处地方可能出现.

调试

查看Jenkins和Gerrit调试日志的方法:

Jenkins:

 tail -F /var/log/jenkins/jenkins.log & ; ssh jenkins@linuxserver -p 29418 gerrit stream-events

Gerrit:

 tail -F /logs/*log

参考

https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger