如何在设置 jenkins 触发器时修复 github webhook 中的 "We couldn’t deliver this payload: Couldn't connect to server"?
How to fix "We couldn’t deliver this payload: Couldn't connect to server" in github webhook while setting up a jenkins trigger?
我正在 GitHub 中设置一个 Web 挂钩来为每个推送事件触发 Jenkins 构建。我是来自蓝海 Docker 容器的 运行 詹金斯。
我可以从 http://192.168.99.101:32771/ 访问 jenkins,正如 docker 容器中指定的那样。
我已指定 git 存储库并选中 "GitHub hook trigger for GITScm polling" 复选框。
我可以在提交后手动启动构建过程,但是当我在 github 中使用有效载荷 url http://192.168.99.101:32771/github-webhook/ 设置 webhook 并提交一些内容时,
我收到错误 "We couldn’t deliver this payload: Couldn't connect to server"
我看过的其他解决方案。
- 使用 ngrok。但我不是 运行 本地主机上的这个。
- 我尝试使用个人访问令牌并创建了一个从 Jenkins 到 Github 的自动 webhook。我得到了同样的错误。
我错过了什么,或者我做错了什么?
Github 永远不会访问您的 Jenkins 服务器,因为您的服务器只能通过内部网络访问。
错误很明显。
We couldn’t deliver this payload: Couldn't connect to server
http://192.168.99.101:32771
就从网络外部访问它而言,这与您的本地主机相同。
可能的解决方案。
- 运行 jenkins 在一些可以访问 Internet 的远程服务器上,并在 Github
的 webhook 中提供该 IP
- 如果访问有任何问题,请传递您的public IP to Github, maybe you still issue with define port forwarding。
对于 jenkins 服务器位于 AWS 的 Ec2 实例中并且位于私有子网中的任何人,您可以做两件事:
- 将您的私有 ec2 移动到 public 子节点
- 在 public 子网中创建一个负载均衡器 (ALB),并将您的私有 ec2 实例附加到该负载均衡器。然后用ALB的地址给你github hook.
我正在 GitHub 中设置一个 Web 挂钩来为每个推送事件触发 Jenkins 构建。我是来自蓝海 Docker 容器的 运行 詹金斯。
我可以从 http://192.168.99.101:32771/ 访问 jenkins,正如 docker 容器中指定的那样。 我已指定 git 存储库并选中 "GitHub hook trigger for GITScm polling" 复选框。
我可以在提交后手动启动构建过程,但是当我在 github 中使用有效载荷 url http://192.168.99.101:32771/github-webhook/ 设置 webhook 并提交一些内容时, 我收到错误 "We couldn’t deliver this payload: Couldn't connect to server"
我看过的其他解决方案。
- 使用 ngrok。但我不是 运行 本地主机上的这个。
- 我尝试使用个人访问令牌并创建了一个从 Jenkins 到 Github 的自动 webhook。我得到了同样的错误。
我错过了什么,或者我做错了什么?
Github 永远不会访问您的 Jenkins 服务器,因为您的服务器只能通过内部网络访问。
错误很明显。
We couldn’t deliver this payload: Couldn't connect to server
http://192.168.99.101:32771
就从网络外部访问它而言,这与您的本地主机相同。
可能的解决方案。
- 运行 jenkins 在一些可以访问 Internet 的远程服务器上,并在 Github 的 webhook 中提供该 IP
- 如果访问有任何问题,请传递您的public IP to Github, maybe you still issue with define port forwarding。
对于 jenkins 服务器位于 AWS 的 Ec2 实例中并且位于私有子网中的任何人,您可以做两件事:
- 将您的私有 ec2 移动到 public 子节点
- 在 public 子网中创建一个负载均衡器 (ALB),并将您的私有 ec2 实例附加到该负载均衡器。然后用ALB的地址给你github hook.