我希望Jenkins在Gerrit上传或更改补丁集时触发构建。我究竟如何配置? [关闭]

Modified on: Sat, 18 May 2019 23:40:02 +0800

我正在使用Jenkins 1.557来观看Gerrit 2.8实例的更改。我使用以下插件:

  • Git Plugin 2.1.0
  • Git Client Plugin 1.7.0
  • Gerrit Trigger 2.11.1

当我在Gerrit Trigger上使用“测试连接”时,它会返回成功,因此我知道凭据正在运行。我正在使用“高级”按钮下的默认值。

对于我的测试构建类型,我正在使用一个git repo,Jenkins检出(我添加了一个“ls -l”的后期构建步骤,它正确显示了repo内容)。我将构建触发器设置为“gerrit event”,对于“gerrit触发器”,我选择了“检查未审核的补丁集”,并启用了“patchset created”的触发器。 gerrit项目设置似乎是正确的。

我无法通过为更改上传新更改或新补丁集来解决构建问题。当我使用“查询和触发Gerrit补丁”按钮手动触发构建时,构建发生,但没有记录投票。我明显错过了一部分难题 - 如果我深入研究gerrit并做一个“流式事件”,我会看到我期待看到的事件。

来自O'Reilly的詹金斯 - 权威指南 - 并没有真正涵盖格里特。我正在努力避免轮询,因为这个Jenkins实例会管理几十个git repos。

调试的下一步是什么?

作者:,Ry Jones

最佳答案

过去发生了一些变化,打破了插件:

  • Gerrit 2.8删除了已弃用的approve命令,AFAIK打破了该插件,请参阅讨论发行说明。这是用2.11.0-beta1修复的,所以我猜你的情况并非如此。

  • Gerrit 2.7引入了 Stream Events 权限,禁止用户默认接收流事件,请参阅发行说明。很可能,您的Jenkins用户没有此访问权限,因此在推送更改后不会触发任何构建。


相关问答

添加新评论