jenkins github webhook错误

时间:2017-06-23 18:35:10

标签: github jenkins continuous-integration

我试图在合并拉取请求时尝试触发jenkins上的构建,并尝试添加webhook,这会给我带来以下错误。

有效负载网址:http://localhost:8080/job/hook-test/

错误:"我们无法提供此有效负载:无法连接到服务器"

1 个答案:

答案 0 :(得分:0)

webhook的网址为localhost。 GitHub试图自己调用webhook。

您需要在可公开访问的URL中部署Jenkins。它不适用于PC中的本地Jenkins安装。

localhost指的是当前机器的地址。当您在浏览器中键入localhost并访问Jenkins时,这是有效的,因为您已经在PC中安装并运行了Jenkins。从其他计算机访问localhost,您将无法访问Jenkins。当你告诉github发送webhook到localhost它不会尝试将它发送到你的机器,相反,它会将webhook发送到运行github服务器的同一台机器,而且该机器没有詹金斯安装。

这里的问题是localhost对你和github意味着不同的东西。

要解决此问题,您需要在可从Internet访问的公共服务器中安装Jenkins(以便github可以发送webhook)或使用提供hosted Jenkins servers的在线服务。

您也可以获取一个域并将其配置为指向您的PC。您可能需要进行一些网络配置,但一旦完成,您(和github)将能够通过some-domain.example.io而不是localhost访问您的jenkins。小心,你会从互联网上访问你的(我个人的)个人电脑,这有安全风险。

如果你负担得起,我建议在云中使用服务器来运行它。 许多云平台甚至提供了相当长的免费试用期(我知道亚马逊和谷歌云)。