最近在做jenkins检测到gerrit有代码提交后自动拉取代码跑test case的活,其中遇到了些坑,在此分享一下
主要操作步骤请参考官方文档,本文主要讲一些细节或者坑
https://wiki.jenkins.io/pages/viewpage.action?pageId=63931548
首先设置Gerrit的权限,这些权限在我用的Gerrit上公司都配置好了的,所以我不需要
跟着官方文档
Jenkins首先需要去系统管理 => 插件管理 下载Gerrit Trigger的插件,然后回到系统管理,往下拉,可以看到Gerrit Trigger,点进去,然后选择Add New Server,配置内容参考官方文档,配置完后点一下Test Connection.
之后创建一个jenkins的job,我一开始选择free style的job,在Build Triggers选择Gerrit event,选择你刚刚创建的Server,
Trigger on: Patchset Created
Gerrit Project: 第一个框时项目,选择Plain,写入你的项目名,第二个框是你要监听的分支,也选择Plain,填写分支名,如master。这样当你的有代码提交要往master分支合并时,就会触发当前这个job。
源码管理这一块使用git,需要点开Repositories的Advanced,Refspec填写refs/changes/*:refs/changes/*,然后在Branch Specifier填写$GERRIT_REFSPEC,这就ok了
后面我使用了Pipeline去创建