Poll scm没有找到最新的gerrits

时间:2017-06-21 01:03:49

标签: jenkins triggers pipeline gerrit

我正在尝试使用git polling来解决错过的gerrit事件,但显然jenkins git轮询更改在与gerrit结合时不起作用。我为我的管道工作使用$ GERRIT_BRANCH和$ GERRIT_REFSPEC,并从完全不同的repo获取管道。有人有提示吗?詹金斯诉。 2.46.1,最新的gerrit触发插件。它抱怨说: 忽略refs / heads / master,因为它与任何已配置的refspecs都不匹配

需要配置什么以及在哪里?如果我手动触发/ gerrit触发它可以工作。

日志片段: 2017年6月21日下午4:39:00开始 使用策略:Gerrit Trigger [民意调查]上次修订:修订版39f3ecc9b2bb9a3c24b58d6a665b401b59ac5a5b(参考/更改/ 66/1958366/3) 使用GIT_ASKPASS设置凭据

  

git ls-remote -h ssh:// server:29418 / project#timeout = 10   在ssh:// server:29418 / project上找到1个远程磁头   忽略refs / heads / master,因为它与任何已配置的refspecs 都不匹配   完成。花了0.27秒   没有变化

1 个答案:

答案 0 :(得分:0)

注意到它是一个错误并迫使用户手动启动构建,请参阅https://issues.jenkins-ci.org/browse/JENKINS-42290

一位用户注意到了适用于他们的解决方法:https://github.com/janinko/ghprb/issues/423

  • 列出项目

    我找不到一个简单的解决方案,所以我重新找回了解决方法:

  • 不填写字段“ref”>该插件不使用“-h”列出分支,因此它可以看到所有这些

  • 签出分支以构建要运行的脚本:
    • git clone
    • cd在repo目录中
    • git fetch origin
    • GIT_BRANCH = $ {GIT_BRANCH#* /}(变量GIT_BRANCH的格式为origin /所以我们抛弃所有内容直到斜杠)
    • git checkout -b $ GIT_BRANCH origin / $ GIT_BRANCH()
    • git merge master(检查提交是否合并的步骤,master可以由正确的分支替换,具体取决于项目)

它远非一个完美的解决方案,但它是我能找到的最好的解决方案,使其适用于我目前的设置。