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小节配置如下:
- Repository URL根据实际环境中Gerrit提供的git repo地址填写;
- Refspec=$GERRIT_REFSPEC(点开Advanced可见)
- Branch Specifier=$GERRIT_BRANCH。
- Additional Behaviors 添加一个Strategy for choosing what to build,选 Gerrit Trigger。
- 构建触发器选择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