Jenkins 管道作业不会在 GitHub 推送上触发

7 git github webhooks jenkins jenkins-pipeline

我已经创建了 Jenkins Pipline 作业,并希望在我的 GitHub 存储库推送事件上触发它。

我已将 repo url 添加到作业配置并选中“触发推送选项”: 在此处输入图片说明

我还向 jenkins 配置 Github 部分添加了具有所需权限的 GitHub 令牌: 在此处输入图片说明

在 Github 存储库中,我为我的 Jenkins 服务器启用了 webhook: 在此处输入图片说明

在推送到我的 GitHub 存储库后,所有步骤仍然没有触发。

有谁知道发生了什么以及为什么 Jenkins 不触发配置的管道作业?

Dan*_*šek 10

OP 在评论中提到的解决方案是正确的。

假设您的 Jenkins 有一个 Github webhook 设置正确且可访问(可以在 Github UI 中验证),您需要手动启动一次构建。构建完成后,存储库中的更改将自动启动新构建。


来自user8888 的注释

您实际上需要手动启动构建并且构建必须成功。失败的构建不会做任何事情。


小智 -3

使用 GITScm 轮询的 Github hook 触发器,您需要启用“Poll SCM”选项,因为 github Push 会触发 git 轮询来验证是否有新的更改,然后如果发现更改则运行构建。您可以将 cron 计划保留为空。带有 scm poll 的 Github webhook

  • 这是不正确的。正如上面的评论,需要手动运行才能让 Jenkins 拾取 Webhook。 (3认同)
  • 正确的选项是正确配置“GITScm 轮询的 GitHub hook 触发器”选项。“轮询 SCM”选项警告:“请注意,这对于 CVS 来说将是一项昂贵的操作,因为每次轮询都需要 Jenkins 扫描整个工作区并通过服务器进行验证。考虑设置一个“推送”触发器来避免这种情况高架” (3认同)