关于 GitHub Enterprise Server 的主机名的更改
如果需要对 你的 GitHub Enterprise Server 实例 使用新的主机名,则必须备份现有实例的设置和数据、配置新实例、将备份还原到新实例,然后调整 DNS 配置以将流量发送到新实例。
迁移到新实例需要停机。 所需的停机时间量取决于需要备份的数据量,以及备份主机和实例之间的网络连接速度。
在本文中,术语“源实例”是指具有旧主机名的实例,而“目标实例”是指具有新主机名的实例。
Warning
初始设置后不要更改 GitHub Enterprise Server 的主机名。 更改主机名将会导致意外的行为,甚至包括实例中断和用户安全密钥失效。 如果更改了实例的主机名并遇到问题,请联系GitHub Enterprise 支持或GitHub 高级支持。
迁移到具有新主机名的实例
-
使用要使用的新主机名配置 GitHub Enterprise Server 的目标实例。 有关详细信息,请参阅以下文档。
-
将计划停机时间通知实例用户。 (可选)可以创建一条强制消息,该消息将向登录的所有用户显示。 有关详细信息,请参阅“为企业自定义用户消息”。
-
在源实例上,启用维护模式以防止发生增量。 有关详细信息,请参阅“启用和排定维护模式”。
-
使用 GitHub Enterprise Server Backup Utilities 备份源实例的数据和设置。 有关详细信息,请参阅“在实例上配置备份”。 (此步骤可能需要几个小时才能完成。)
-
如果源实例启用了 GitHub Actions,则必须先在目标实例上配置 GitHub Actions 的外部存储提供程序。 请参阅“在启用 GitHub Actions 的情况下备份和恢复 GitHub Enterprise Server”。
-
在目标实例上,启用维护模式,以便能够还原从源实例获取的备份。
-
使用所需主机名将备份还原到目标实例。 运行
ghe-restore
实用程序时不使用-c
选项,以防止覆盖目标实例的配置。 请参阅“在实例上配置备份”。 -
完成目标实例的配置。 有关详细信息,请参阅“配置 GitHub Enterprise”。
-
可选:在目标实例处于维护模式时,验证实例的配置及配置运行日志 (
/data/user/common/ghe-config.log
),并验证用户数据是否完整无损。 有关详细信息,请参阅“启用和排定维护模式”。 -
若要将流量定向到目标实例,请使用源实例的主机名更新 DNS
CNAME
记录,以解析到目标实例的 IP 地址。Note
在实例的 Web 应用程序中还原的用户生成内容可能包含引用源实例的旧主机名的 URL。 (可选)若要确保这些链接继续解析到目标实例,可以使用 DNS 配置重定向。 除了解析到新实例主机名的
CNAME
记录之外,还配置第二条 DNSCNAME
记录,用于将来自原始主机名的流量定向到新主机名。 有关详细信息,请参阅 DNS 提供商的相关文档。 -
在目标实例上,禁用维护模式。