如何使用 GitHub 配置服务器 Jenkins?



在Github中,我创建了webhooks(http://192.168.10.98:8080/github-webhook/(,在"集成和服务"选项卡中,我添加了Jenkins(Github插件(。 在网络钩子中,它的显示

"We couldn’t deliver this payload: Couldn't connect to server".

在 Jenkins 中,构建触发器(我选择 GitHub 钩子触发器进行 GITScm 轮询( 代码更改显示在 Jenkins 仪表板中,但在 Server 中未更新。我需要配置什么才能通过 Jenkins 更新更改的代码?有人可以帮助我吗?

如果您输入本地IP地址作为webhook的目标,Github将出现问题。它无法访问给定的 IP。

你的 IP似乎是私有的,对于 webhooks,你需要提供 Jenkins Public IP(你可以从任何与网络连接的地方访问它(

以 192.168.x.x 开头的地址是"不可路由"的 IP 地址。有几个不可路由的范围,它们都是仅 LAN。有关专用范围的列表,请参阅 https://en.wikipedia.org/wiki/Private_network。

如果主机不在您的 LAN 上,那么如果不进行一些重新配置,它将永远无法通过 192.168.x.x 地址到达您的服务器。

我建议您创建一个侦听两个网络接口的 Web 服务器:一个是 Github 可以访问的公共、可路由的 IP 地址;另一个是不可路由的、仅限 LAN 的地址,可以与 LAN 安装的 Jenkins 通信。Github将与Web服务器通信,Web服务器会将流量路由到您的Jenkins盒子,依此类推。

您可以通过公共 IP 地址直接暴露您的 Jenkins 主机,但最佳做法是将 Jenkins 放在像 Web 服务器这样的代理后面。

此外,请确保在您的 Web 服务器上使用 TLS 安全证书。只接受来自github(或其他地方(的HTTPS。流量未加密的 Jenkins 盒子是一个危险的诱人目标。有一些服务,如 https://letsencrypt.org/可以为您提供免费的安全证书。

最新更新