【问题标题】:how to configure server Jenkins with github?如何使用 github 配置服务器 Jenkins?
【发布时间】:2017-07-05 07:27:02
【问题描述】:

在 Github 中,我创建了 webhooks (http://192.168.10.98:8080/github-webhook/),在 Intergration & Services 选项卡中,我添加了 Jenkins(Github 插件)。 在 webhook 中显示

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

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

【问题讨论】:

    标签: github jenkins


    【解决方案1】:

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

    【讨论】:

    • 这是服务器 IP 地址不是我的本地 IP 地址
    • 如果我需要通过jenkins将最新代码更新到服务器意味着我需要做什么?
    • 它仍然是一个私有 IP 地址。你需要让 Github 可以访问你的 Jenkins。它应该部署在非专用网络的某个地方。您可以使用免费的 AWS 配额并将其部署在 EC2 实例上。
    【解决方案2】:

    您的 IP 似乎是私有的,对于 webhook,您需要提供 Jenkins 公共 IP(您可以从任何连接网络的地方访问它)

    【讨论】:

      【解决方案3】:

      以 192.168.x.x 开头的地址是“不可路由的”IP 地址。有几个不可路由的范围,它们都只是局域网。有关私有范围的列表,请参阅 https://en.wikipedia.org/wiki/Private_network

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

      我建议您创建一个在两个网络接口上侦听的 Web 服务器:一个可以通过 Github 访问的公共、可路由 IP 地址;和一个不可路由的、仅限 LAN 的地址,可以与安装在 LAN 中的 Jenkins 通信。 Github 将与 Web 服务器对话,该服务器会将流量路由到您的 Jenkins 盒子,等等。

      您可以通过公共 IP 地址直接公开您的 Jenkins 主机,但最好将 jenkins 放在像 Web 服务器这样的代理后面。

      另外,请确保在您的网络服务器上使用 TLS 安全证书。仅接受来自 github(或其他地方)的 HTTPS。流量未加密的詹金斯盒子是一个危险的诱人目标。有像https://letsencrypt.org/ 这样的服务会给你一个免费的安全证书。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-31
        • 2015-10-23
        • 1970-01-01
        • 2020-06-18
        • 1970-01-01
        相关资源
        最近更新 更多