Jenkins gerrit trigger在构建时不取我的零钱

Jenkins gerrit trigger在构建时不取我的零钱,jenkins,jenkins-plugins,gerrit,Jenkins,Jenkins Plugins,Gerrit,我已经用gerrit触发器插件配置jenkins,以验证我们推给gerrit的每个提交。 我希望这个触发器包括我对原始回购协议的最新更改,并进行构建。 但是,它只是克隆了一个回购项目,并在没有我修改的情况下进行编译 下面是我在jenkins中对gerrit触发器的配置设置 Refspec: $GERRIT_REFSPEC Branches to build: $GERRIT_BRANCH Build trigger: Gerrit event Trigger on: patch set c

我已经用gerrit触发器插件配置jenkins,以验证我们推给gerrit的每个提交。 我希望这个触发器包括我对原始回购协议的最新更改,并进行构建。 但是,它只是克隆了一个回购项目,并在没有我修改的情况下进行编译

下面是我在jenkins中对gerrit触发器的配置设置

Refspec: $GERRIT_REFSPEC 
Branches to build: $GERRIT_BRANCH 
Build trigger: Gerrit event 
Trigger on: patch set created 
Gerrit project: added project and branch
下面是构建输出消息

Triggered by Gerrit: http://ci-test1/22
Building on master in workspace /var/lib/jenkins/jobs/Build_Adserver_4.7/workspace
Checkout:workspace / /var/lib/jenkins/jobs/Build_Adserver_4.7/workspace - hudson.remoting.LocalChannel@733aee56
Using strategy: Default
Last Built Revision: Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7)
Fetching changes from 1 remote Git repository
Fetching upstream changes from abc
Commencing build of Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7)
Checking out Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7)
[workspace] $ /bin/sh -xe /tmp/hudson1375188638196718521.sh
+ echo 'Started Build'
Started Build
+ echo ..................
..................
+ echo 'Build Finished'
Build Finished
Finished: SUCCESS
这里701a75ef38aa191ac1b806c48e6b3451671888f6是回购分支的负责人,8cbda558adcad4fb7eb714e0b3fb98a6fbf5811c是触发构建的最新更改的SHA id

我也从jenkins工作区进行了验证,它不包括我的更改

对不起,如果我遗漏了任何需要提及的信息。请让我知道
如果我遗漏了什么,请帮助我。

您必须将
选择策略更改为
Gerrit Trigger

转到作业的配置页面,然后单击
git
部分下的第二个
Advanced
按钮。几乎在底部有一个
选择策略
,您需要将其更改为
Gerrit Trigger

这将导致Git使用Jenkins 1.532.2 Git Client Plugin 1.6.2 Git Plugin 2.0.1 Git Trigger 2.11.0获取构建的正确版本

以下是配置Gerrit触发器的步骤(从内存中,希望一切正常):

  • 安装插件“Gerrit触发器”、“Git插件”和“Git客户端插件”
  • 在jenkins主配置(主页->管理jenkins)中,单击Gerrit触发器
  • 创建并配置服务器。使用“测试连接”确保其工作正常
  • 最后,在“控制”下按“开始”(不知道这是什么,也不知道它是否真的需要,但我做到了)
  • 转到项目的配置(MYPROJECT->Configure)
  • 选中“构建触发器”下的“Gerrit事件”
  • 在新添加的菜单中,选择服务器、触发器等
  • 对于Gerrit项目,我使用“Plain”和“MYPROJECT”作为模式
  • 对于分支,我使用“Path”和“**”作为模式(构建所有分支)
  • 在“源代码管理”下(从我的UI中的触发器开始),单击“Git”
  • 设置存储库URL,此处为$USER matches for me,否则请编写正确的用户$GERRIT_SCHEME://$USER@$GERRIT_HOST:$GERRIT_PORT/$GERRIT_PROJECT
  • 指定一个分支:$GERRIT\u branch
  • 在右侧的“存储库”下,单击高级,在“Refspec”中输入$GERRIT\u Refspec
  • 单击右下方的添加,然后选择“选择构建内容的策略”
  • 选择“Gerrit触发器”
  • 不是很直观,但它应该可以工作。我建议确保正在构建正确的SHA1 ID

    如果遇到

    如果要解决小问题,请将值更改为以下值,以确保生成最新的SHA1

    分支机构
    $GERRIT\u REFSPEC


    REFSPEC
    $GERRIT\u REFSPEC:$GERRIT\u REFSPEC
    我使用的是Jenkins 2.15,面对这个问题,通过以下设置得到解决。 在Git预付款中添加Refspec:
    $GERRIT\u Refspec
    要建立的分支:
    $GERRIT\u分支


    在另外的行为部分,选择
    策略来选择要构建的内容
    并选择
    gerrit Trigger

    @uncletall,我也面临这个问题。我现在使用的是最新版本。我看不到“选择战略”。根据新版本,我已经正确配置了“Gerrit Trigger”参数。但是,我的詹金斯仍然坚持旧代码。请帮忙,我很确定它是最新版本的。但是git插件目前严重损坏。我不得不将Git客户端插件从1.6.1降级到1.4.6,Git插件从2.0.1降级到1.4.0,以使Gerrit触发器再次工作。你必须降级吗?@uncletall你可能必须转到其他行为>添加>选择构建内容的策略谢谢Richard,似乎选择策略现在是“选择构建内容的策略”你必须降级git插件吗?不必降级。不过,我没有使用最新版本的詹金斯。请参阅我的答案以了解确切的版本号。非常感谢。我在做gerrit->jenkins->docker pipeline,你的答案很有帮助!