Jenkins + Gerrit build error的解决过程
环境:
Jenkins 2.404
Gerrit 3.1.4
现象:
不知道jenkis升级到哪个版本以后,按默认的配置gerrit trigger触发的编译验证任务就失效了。现象是提示
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
解决的过程:
先是在网上搜索了各种方法,大多都不太靠谱,是不报错了,但是编译的并不是gerrit上提交的changes。
自己动手,按jenkins的编译log,手动顺序执行了一遍各命令,发现在
git rev-parse "refs/remotes/origin/refs/changes/65/8765/1^{commit}"
这里报错了,找不到这条commit。
查资料,原因是因为在
git fetch --tags --force --progress
这一步,按默认取的是refs/heads,但是build需要的$GERRIT_REFSPEC是refs/changes开头的。
搞清楚原因,解决起来就简单了。
验证:
Retrigger,build Success,问题解决。