【问题标题】:Poll scm does not find latest gerrits轮询 scm 未找到最新的 gerrit
【发布时间】:2017-06-21 01:03:49
【问题描述】:

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

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

log sn-p: 开始于 2017 年 6 月 21 日下午 4:39:00 使用策略:Gerrit 触发器 [民意调查] 上次构建修订:修订 39f3ecc9b2bb9a3c24b58d6a665b401b59ac5a5b (refs/changes/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 秒 没有变化

【问题讨论】:

  • 是否可以获得“确切的错误信息”?
  • 嗨 @AnthonyHorne 开始于 2017 年 6 月 21 日下午 4:39:00 使用策略:Gerrit Trigger [poll] Last Built Revision: Revision 39f3ecc9b2bb9a3c24b58d6a665b401b59ac5a5b (refs/changes/66/1958366/3) 使用 GIT_ASKPASS设置凭据 > git ls-remote -h ssh://server:29418/project # timeout=10 在 ssh://server:29418/project 上找到 1 个远程头 忽略 refs/heads/master,因为它没有t 匹配任何配置的 refspecs 完成。花了 0.27 秒没有变化
  • 抱歉换行符,stackoverflow 的新手。

标签: jenkins triggers pipeline gerrit


【解决方案1】:

已作为错误记录,并已强制用户手动启动构建,请参阅 https://issues.jenkins-ci.org/browse/JENKINS-42290

一位用户在https://github.com/janinko/ghprb/issues/423 处指出了一种对他们有用的解决方法

  • 列表项

    我找不到简单的解决方案,所以我求助于解决方法:

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

  • 签出要在脚本中构建的分支以运行:
    • git 克隆
    • 在 repo 目录下 cd
    • git 获取来源
    • GIT_BRANCH=${GIT_BRANCH#*/}(变量 GIT_BRANCH 的格式为 origin/,所以我们放弃一切,直到斜线)
    • git checkout -b $GIT_BRANCH origin/$GIT_BRANCH ()
    • git merge master(检查提交是否可合并的步骤,master可以根据项目替换为正确的分支)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    • 2012-04-24
    • 1970-01-01
    相关资源
    最近更新 更多