当更改被推送到Github时,无法使Jenkins触发构建

时间:2015-03-30 12:19:00

标签: git github jenkins jenkins-plugins webhooks

他们有很多像这样的问题,但似乎都没有。

我正在http://localhost:1001/上运行jenkins,并已将github中的授权令牌添加到jenkins中,似乎可以正常工作。

我可以手动构建项目,当我将一些东西推到github并再次构建项目时,会进行更改,但

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

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

  

轮询尚未开始

在我已经放置的项目配置中

enter image description here

PS:不要担心我发布了链接回购,因为他们的回购并不多。

PPS:当将更改推送到GitHub时,安装了所有插件并且构建触发器在Build上

2 个答案:

答案 0 :(得分:6)

由于无法从公共IP地址访问jenkins,因此GitHub无法通过WebHook触发构建。

另一种方法是使用“轮询”机制,每X分钟检查一次更改,例如:

enter image description here

答案 1 :(得分:3)

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

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

    gem install ultrahook

  • 在GitHub存储库中指定发送webhook的URL。它应该是UltraHook提供的URL(如http://repository_name.your_subdomain.ultrahook.com
  • 在本地计算机上运行ultrahook,您就完成了:
      

    ultrahook [-k]子域名目的地

然而,其他解决方案,如ngrok.com可能更可靠(至少它没有长时间运行时间的问题,与超级挂钩不同)