如何在设置詹金斯触发器时修复 github webhook 中的"We couldn’t deliver this payload: Couldn't connect to server"?



>我在 GitHub 中设置了一个 Web-hook,为每个推送事件触发 Jenkins 构建。我正在从Blue Ocean Docker容器运行Jenkins。

https://i.stack.imgur.com/10HRD.jpg

我能够从 http://192.168.99.101:32771/访问 jenkins,如 docker 容器中指定的那样。 我已经指定了 git 存储库并选中了"用于 GITScm 轮询的 GitHub 钩子触发器"复选框。

我可以在提交后手动启动构建过程,但是当我使用 payload url 在 github 中设置 webhook 时 http://192.168.99.101:32771/github-webhook/并提交一些东西, 我收到错误"我们无法提供此有效负载:无法连接到服务器">

我看过的其他解决方案。

  1. 使用 ngrok。但我没有在本地主机上运行它。
  2. 我尝试使用个人访问令牌,并创建了一个从 Jenkins 到 Github 的自动 webhook。我得到了同样的错误。

我错过了什么,或者我做错了什么?

Github永远不会到达你的Jenkins服务器,因为你的服务器只能在网络内访问。

错误非常明显。

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

http://192.168.99.101:32771,这与您的本地主机从网络外部访问它相同。

可能的解决方案。

  • 在某个可以访问互联网的远程服务器上运行 jenkins,并在 Github 的 webhook 中提供该 IP
  • 将您的公共 IP 传递给 Github,如果访问有任何问题,也许您仍然会解决定义端口转发的问题。

对于任何jenkins 服务器位于 AWS 的 Ec2 实例中并且如果它位于私有子网中的人,您可以做两件事:

  1. 将您的私有 ec2 移动到公共子节点
  2. 在公有子网中创建负载均衡器 (ALB(,并将私有 ec2 实例附加到该负载均衡器。然后使用ALB的地址作为你的github钩子。

相关内容

  • 没有找到相关文章