关于暂存实例
GitHub 建议您搭建一个独立环境,用于测试针对 你的 GitHub Enterprise Server 实例 的备份、更新或配置更改。 此环境应与生产系统隔离,称为过渡环境。
例如,为了防止数据丢失,可以定期验证生产实例的备份。 你可以定期将生产数据的备份还原到过渡环境中的单独 GitHub Enterprise Server 实例。 在此预发布实例上,您还可以测试升级到 GitHub Enterprise Server 的最新功能版本。
提示
只要暂存实例未在生产能力中使用,就可以重复使用现有的 GitHub Enterprise 许可证文件。
测试环境的注意事项
若要全面测试 GitHub Enterprise Server 并尽可能重现与生产环境相似的环境,请考虑与您的实例交互的外部系统。 例如,你可能想要在预生产环境中测试以下内容。
- 身份验证,特别是在使用外部身份验证提供程序(如 SAML)的情况下
- 与外部事件单记录系统的集成
- 与持续集成服务器的集成
- 使用GitHub Enterprise Server APIs的外部脚本或软件
- 用于发送电子邮件通知的外部 SMTP 服务器
设置暂存实例
可以从头开始设置暂存实例并根据需要配置实例。 有关详细信息,请参阅 设置 GitHub Enterprise Server 实例 和 配置 GitHub Enterprise。
也可以创建反映生产配置的暂存实例,方法是将生产实例的备份还原到暂存实例。
1. 备份生产环境实例
如果要测试包含与生产实例相同的数据和配置的实例的更改,请使用 GitHub Enterprise Server Backup Utilities 备份生产实例中的数据和配置。 有关详细信息,请参阅“使用备份实用工具在实例上配置备份”。
警告
如果使用 GitHub Actions 或 GitHub Packages 投入生产,备份将包括外部存储的生产配置。 为避免从暂存实例写入生产存储而导致数据丢失,必须在还原备份之前配置步骤 3 和 4 中的每个功能。
2. 设置暂存实例
设置一个新的实例作为你的暂存环境。 执行安装过程时,请务必选择“New Install”选项****。 这将确保已正确初始化过渡环境,并已准备好在需要时还原备份。
配置和安装暂存实例的方法与生产实例所用方法相同。 有关详细信息,请参阅“设置 GitHub Enterprise Server 实例”。
如果计划还原生产实例的备份,请继续执行下一步。 也可以手动配置实例,并跳过以下步骤。
警告
在未配置的实例上,使用 GitHub Actions 还原备份将无法成功。 若要启用 GitHub Actions,需要一个已配置主机名的实例。 有关详细信息,请参阅“为实例配置主机名”。
3. 配置 GitHub Actions
(可选)如果在 GitHub Actions 生产实例上使用,请在还原生产备份之前在暂存实例上配置该功能。 如果不使用 GitHub Actions,请跳到 “配置 GitHub Packages”。
若要在过渡实例上配置 GitHub Actions ,请使用 管理控制台.
管理控制台 提供一个安全的基于浏览器的界面,用于对您的 GitHub Enterprise Server 实例进行底层配置,包括 GitHub Actions。 所有配置更改都会经过审核,访问权限则通过专用凭据和网络控制加以保护。
警告
如果在还原生产备份之前未在暂存实例上配置 GitHub Actions ,则临时实例将使用生产实例的外部存储,这可能会导致数据丢失。 强烈建议对过渡实例使用不同的外部存储。 有关详细信息,请参阅“使用暂存环境”。
-
访问 管理控制台。 请参阅“访问管理控制台”。
-
在边栏中,打开“Actions”选项卡****。
-
通过选中启用 GitHub Actions 来启用 GitHub Actions。
-
选择用于工件和日志存储的外部存储供应商。
-
输入所选提供程序所需的存储和身份验证详细信息。
-
通过单击“Test storage settings”测试你的配置,然后单击“Save settings”********。
配置并启用 GitHub Actions后,继续执行下一步。
4. 配置 GitHub Packages
(可选)如果在 GitHub Packages 生产实例上使用,请在还原生产备份之前在暂存实例上配置该功能。 如果不使用 GitHub Packages,请跳到 还原生产备份。
警告
如果在还原生产备份之前未在暂存实例上配置 GitHub Packages ,则临时实例将使用生产实例的外部存储,这可能会导致数据丢失。 强烈建议对过渡实例使用不同的外部存储。 有关详细信息,请参阅“使用暂存环境”。
若要为过渡实例配置 GitHub Packages ,请执行以下操作:
- 访问 管理控制台。 请参阅访问管理控制台。
- 在边栏中,打开“Packages”选项卡****。
- 通过选中“启用GitHub包框启用GitHub包。
- 在“Packages Storage Settings”下,选择外部存储提供程序****。
- 通过单击“Test storage settings”,测试你的存储配置****。
- 单击“Save settings”以应用配置****。
注意
你可以根据需求使用生态系统切换开关,对实例中的各个包类型执行启用、禁用操作,或将其设置为只读。
5. 还原生产备份
使用 ghe-restore 命令从备份中还原其余数据。 有关详细信息,请参阅“使用备份实用工具在实例上配置备份”。
如果暂存实例已配置并且你想要覆盖设置、证书和许可证数据,请将 -c 选项添加到命令中。 有关该选项的详细信息,请参阅GitHub Enterprise Server Backup Utilities文档中的“使用备份和还原命令”。
6. 查看实例的配置
若要使用相同的主机名访问暂存实例,请更新本地主机文件,以便通过编辑 macOS 或 Linux 中的 /etc/hosts 文件或 Windows 中的 C:\Windows\system32\drivers\etc 文件,按 IP 地址解析暂存实例的主机名。
注意
暂存实例必须可通过与生产实例相同的主机名进行访问。 不支持更改主机名 你的 GitHub Enterprise Server 实例 。 有关详细信息,请参阅“为实例配置主机名”。
然后,在 管理控制台 中检查暂存实例的配置。 有关详细信息,请参阅“从 Web UI 管理实例”。
警告
如果您为暂存实例配置了 GitHub Actions 或 GitHub Packages,为避免覆盖生产数据,请确保 管理控制台 中的外部存储配置不要与生产实例相同。
7. 应用实例的配置
若要应用 管理控制台配置,请单击“ 保存设置”。
使暂存实例重新上线
可能需要关闭暂存实例,以节省成本,并在需要时重新开启。
实例可以离线 60 天。
如果在允许的脱机时间段内将实例重新上线,GitHub Enterprise Server 就会成功实例化。 如果实例保持脱机时间超过允许的时间段, GitHub Enterprise Server 则无法成功实例化,并且系统日志中可能会显示包含文本 server has been offline for more than the configured server_rejoin_age_max 的错误消息。 请参阅“关于系统日志”。
如果实例停滞在错误状态,可以运行这些命令以恢复。
sudo mv /data/user/consul/server_metadata.json /data/user/consul/server_metadata.json.bak
ghe-config-apply