将更改推送到 Github 时无法让 Jenkins 触发构建

not been able to make Jenkins trigger a build when changes are pushed to Github

他们有很多这样的问题,但 none 似乎有效。

我在 http://localhost:1001/ 上是 运行 jenkins,并且已将来自 github 的授权令牌添加到 jenkins 中,它似乎有效。

我可以手动构建项目,当我将一些东西推到 github 上并再次构建项目时,会发生一些变化,但是

我无法通过 webhook 自动执行此操作。

当我最后打开 github 日志时,这是输出

Polling has not run yet

在项目配置中我已经放了

PS:别担心我已经发布了 link 回购,因为它们在回购中没什么。

PPS:安装了所有插件,当更改被推送到 GitHub

时,构建触发器在构建上

由于无法从 public IP 地址访问您的 jenkins,GitHub 无法通过 WebHook 触发构建。

另一种方法是使用 "Polling" 机制,每 X 分钟检查一次更改,例如:

我想您甚至可以使用从 Web 上的某个端点和本地 Jenkins 安装提供隧道的服务来连接本地计算机。例如,UltraHook。我使用以下步骤解决了同样的问题:

  • 在 UltraHook 上注册(免费)并在系统中获取您的 API 密钥和域
  • 在本地机器上安装 UltraHook gem:

    gem install ultrahook

  • 在 GitHub 存储库中指定 URL 以将 webhook 发送到。应该是UltraHook提供的URL(like http://repository_name.your_subdomain.ultrahook.com)
  • 运行 本地机器上的 ultrahook 就完成了:

    ultrahook [-k ] subdomain destination

然而,其他解决方案,如 ngrok.com 可能更可靠(至少它在正常运行时间长方面没有问题,不像 ultrahook)