Skip to main content

使用热补丁升级

可以使用热补丁包将 GitHub Enterprise Server 升级到功能系列中的较新补丁版本。

可使用热补丁将 GitHub Enterprise Server 升级到最新的补丁版本。

您可以使用热更新来升级到更新的补丁版本,但不能升级到功能版本。 例如,你可从 2.10.1 升级到 2.10.5,因为它们位于同一功能系列中,但不能从 2.10.9 升级到 2.11.0,因为它们位于不同的功能系列中。

热补丁并不总是需要重新启动。 安装热补丁时,如果任一包需要重新启动才能完成更新,你将在终端中看到一条消息。 可以安排在方便的时候进行重新启动,但我们建议尽快重新启动,特别是在有任何安全修复的情况下。

热补丁需要配置运行,这可能会导致 你的 GitHub Enterprise Server 实例 上的部分或所有服务短暂出现错误或无响应。 无需在热补丁安装期间启用维护模式,但这样做将保证用户看到维护页,而不是错误或超时。 请参阅“启用和排定维护模式”。

使用 管理控制台,你可以立即安装热补丁,也可以安排以后安装。 你可以使用管理 shell 通过 ghe-upgrade 实用程序安装热补丁。 请参阅“升级过程概述”和“升级要求”。

使用热补丁升级独立实例

如果要使用热补丁升级只有一个节点的实例,并且目标版本是补丁版,则可使用 管理控制台 进行升级。 若要升级到功能版本,必须使用管理 shell。

使用 管理控制台 安装热补丁

你可以通过启用自动更新来使用 管理控制台 通过热补丁进行升级。 然后,你将看到可升级到的最新可用 GitHub Enterprise Server 版本。

如果显示的升级目标是功能版本而不是修补程序版本,则无法使用 管理控制台 来安装修补程序。 你必须改为使用管理 shell 安装热补丁。

  1. 启用自动更新。 有关详细信息,请参阅“启用自动更新检查”。

  2. 在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击

  3. 如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。

  4. 在“ 站点管理”边栏中,单击“管理控制台”。

  5. 在顶部导航栏中,单击“更新”。

    管理控制台 标头的屏幕截图。 标有“更新”的选项卡以橙色轮廓突出显示。

  6. 在新的热补丁下载完毕后,请选择“安装包”下拉菜单。

    • 若要立即安装,请单击“立即”。
    • 要稍后安装,请选择以后的日期。
  7. 单击“安装” 。

使用管理 shell 安装热补丁

Note

如果启用了自动更新检查,则无需下载升级包,可以使用自动下载的文件。 有关详细信息,请参阅“启用自动更新检查”。

  1. 通过 SSH 连接到 你的 GitHub Enterprise Server 实例。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 将 HOSTNAME 替换为实例的主机名,或节点的主机名或 IP 地址。 有关详细信息,请参阅“访问管理 shell (SSH)”。

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. 浏览到 GitHub Enterprise Server 版本页。 在要升级到的版本旁边,单击“下载”,然后单击“升级”选项卡 。 复制升级热补丁包(.hpkg 文件)的 URL。

  3. 使用 curl 将升级包下载到 你的 GitHub Enterprise Server 实例:

    admin@HOSTNAME:~$ curl -L -O UPGRADE-PKG-URL
    
  4. 使用包文件名运行 ghe-upgrade 命令:

    admin@HOSTNAME:~$ ghe-upgrade GITHUB-UPGRADE.hpkg
    *** verifying upgrade package signature...
    
  5. 如果至少一个服务或系统组件需要重新启动,热补丁升级脚本会发出通知。 例如,对内核、MySQL 或 Elasticsearch 的更新可能需要重启。

使用热补丁升级具有多个节点的实例

如果要安装热补丁,则无需进入维护模式或停止复制。

使用热补丁升级主节点

有关升级主节点的说明,请参阅“使用管理 shell 安装热补丁”。

使用热补丁升级其他节点

要升级包含多个节点的实例(例如高可用性或异地复制配置),必须在每个副本节点上逐个重复以下过程。

  1. 要升级节点,请按照“使用管理 shell 安装热补丁”中的说明操作。

  2. admin 用户身份在端口 122 上通过 SSH 连接到副本节点:

    ssh -p 122 admin@REPLICA_HOST
    
  3. 运行以下命令来验证升级:

    ghe-version
    
  4. 对其他每个节点重复上述步骤。