jenkins使用Gerrit,错误checkout分支版本的解决方法

来源:互联网 发布:五星体育网络源 编辑:程序博客网 时间:2024/06/03 19:02

背景

我们采用jenkins2(2.32.3)应用pipeline流水线,会出现CI任务运行的分支版本错误的问题,gerrit触发的评审代码和CI实际跑的是两码事。

问题原因

在pipeline流水线中,你可以查看Parameters是对的(Gerrit事件传递过来的参数),但是,Git Build Data却拉错分支!
这个问题的原因是,Gerrit的HEAD存在多个,CI任务里的GIT选择HEAD时,具有随机行为,导致GIT checkout出来的,并不是gerrit触发的代码。

解决方法

如下图右下角的进行配置:
Additional Behaviors -> Strategy for Choosing What to build -> Gerrit Trigger

这里写图片描述

(感谢http://stackoverflow.com/questions/11121799/jenkins-doesnt-fetch-the-correct-gerrit-branch)

最后的疑问

这个问题应该是很普遍的问题,为什么感觉大家的配置里,都没有提到这个呢?

附录

最权威的资料就是官方资料
https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger

原创粉丝点击