关于维护模式
某些类型的操作要求您先使 你的 GitHub Enterprise Server 实例 脱机,然后将其置于维护模式:
- 升级到 GitHub Enterprise Server 的新版本
- 增加分配给虚拟机的 CPU、内存或存储资源
- 将数据从一台虚拟机迁移到另一台虚拟机
- 从 GitHub Enterprise Server Backup Utilities 快照还原数据
- 排查某些类型的关键应用程序问题
我们建议你至少将维护窗口排定在 30 分钟后,以便用户提前作好准备。 排定维护窗口后,所有用户在访问站点时都会看到横幅。
在实例进入维护模式后,所有正常 HTTP 和 Git 访问都会遭到拒绝。 这包括 Web 和 API 请求,设备对此进行响应并显示状态代码 503(服务不可用)。 Git 提取、克隆和推送操作也会被拒绝,并显示一条错误消息,指示站点暂时不可用。 不会执行 GitHub Actions 作业。 在浏览器中访问该站点会显示维护页面。
可以通过配置 IP 异常列表来对维护操作执行初始验证,以仅允许从提供的 IP 地址和范围访问 你的 GitHub Enterprise Server 实例 。 尝试从 IP 异常列表中未指定的 IP 地址进行访问 你的 GitHub Enterprise Server 实例 时,将收到与实例处于维护模式时发送的地址一致的响应。
立即启用维护模式或排定在未来的某个时间进行维护
-
在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击“”。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。
-
在“ 站点管理”边栏中,单击“管理控制台”****。
-
在顶部导航栏中,单击“维护”。

-
在“启用和计划”下,选择“启用维护模式”,然后决定立即启用维护模式还是排定在未来的某个时间进行维护。
- 若要立即启用维护模式,请选择下拉菜单,然后单击“立即”。
- 若要排定在未来的某个时间进行维护,请选择下拉菜单,然后单击开始时间。
-
若要在维护时段内为用户设置自定义消息,可在“设置维护模式消息”字段中输入消息。
-
请确认窗口的时序和可选消息均满意后,单击保存按钮。 如果选择了“立即”,实例将立即进入维护模式。
使用 IP 例外列表在维护模式下验证更改
IP 异常列表提供受控和受限的访问 你的 GitHub Enterprise Server 实例,非常适合在维护操作后对服务器运行状况进行初始验证。 启用后, 你的 GitHub Enterprise Server 实例 将退出维护模式,并且仅适用于配置的 IP 地址。 维护模式复选框将更新,以反映状态更改。
如果重新启用维护模式,则会禁用 IP 异常列表,并 你的 GitHub Enterprise Server 实例 返回到维护模式。 如果只是禁用 IP 异常列表, 你的 GitHub Enterprise Server 实例 将返回到正常操作。
还可以使用命令行实用程序配置 IP 异常列表。 有关详细信息,请参阅 命令行实用程序 和 访问管理 shell (SSH)。
-
在 GitHub Enterprise Server 上的管理帐户中,在任一页面的右上角,单击“”。
-
如果你尚未在“站点管理员”页上,请在左上角单击“站点管理员”。
-
在“ 站点管理”边栏中,单击“管理控制台”****。
-
在顶部导航栏中,单击“维护”,然后确认已启用维护模式。

-
在“启用和配置 IP 例外列表”下,选择“启用 IP 例外列表”。
-
在用于启用该列表的复选框右侧,输入允许访问 你的 GitHub Enterprise Server 实例 的有效 IP 地址或 CIDR 块列表,各项之间以空格分隔。
-
若要在维护时段内为用户设置自定义消息,可在“设置维护模式消息”字段中输入消息。
-
单击“ 保存”。
使用 REST API 管理维护模式
您可以使用 REST API 在 你的 GitHub Enterprise Server 实例 上管理维护模式。 有关详细信息,请参阅“用于管理 GitHub Enterprise Server 的 REST API 终结点”。
使用 GitHub CLI 管理维护模式
您可以使用 你的 GitHub Enterprise Server 实例gh es 扩展程序在 GitHub CLI 上管理维护模式。 有关详细信息,请参阅 gh es maintenance set 和 gh es maintenance get 的 GH ES CLI 使用情况文档。
有关详细信息,请参阅“使用 GitHub CLI 管理实例”。
使用 SSH 管理维护模式
如果具有 SSH 访问权限,则可以使用 ghe-maintenance 命令行实用工具为具有一个 GitHub Enterprise Server 节点或高可用性配置中的多个节点的实例设置或取消设置维护模式。 有关详细信息,请参阅 访问管理 shell (SSH) 和 命令行实用程序。
使用 SSH 管理群集的维护模式
如果对实例具有 SSH 访问权限 GitHub Enterprise Server ,则可以使用 ghe-cluster-maintenance 命令行实用工具为群集中的每个节点设置或取消设置维护模式。 有关详细信息,请参阅 访问管理 shell (SSH) 和 命令行实用程序。
$ ghe-cluster-maintenance -h
# Shows options
$ ghe-cluster-maintenance -q
# Queries the current mode
$ ghe-cluster-maintenance -s
# Sets maintenance mode
$ ghe-cluster-maintenance -s "MESSAGE"
# Sets maintenance mode with a custom message
$ ghe-cluster-maintenance -m "MESSAGE"
# Updates the custom message
$ ghe-cluster-maintenance -u
# Unsets maintenance mode