# 准备从 GitHub Enterprise Server 到 GHE.com 的实时迁移

开始 Enterprise Live Migrations 之前应该考虑的关键问题。

> \[!NOTE]
> Enterprise Live Migrations 位于 公开预览，可能会有变动。

## 实例 GitHub Enterprise Server 是否已准备就绪？

ELM 可用于 GitHub Enterprise Server 3.17 及更高版本的最新补丁版本。 本文档假定你使用的是以下修补程序版本或更高版本。 这些说明可能不适用于早期版本。

<!-- Update this list when we backport a change that meaningfully affects the instructions in the docs -->

* `3.21.2`
* `3.20.4`
* `3.19.8`
* `3.18.11`
* `3.17.17`

您的实例 GitHub Enterprise Server 还必须满足以下条件：

* 使用 **HTTPS** URL。 不支持 HTTP URL。
* 允许出站流量到迁移的目标。
* 在管理控制台的“迁移”部分启用迁移功能。
* 迁移期间请做好承受额外负载的准备：仓库归档会导致该仓库中的所有议题和拉取请求从 MySQL 中提取出来，并在 Elasticsearch 中重新建立索引。

## 我们的目标组织将是什么样子？

可以在GHE.com将代码库迁移到新的或现有的组织。 ELM 会创建目标组织（如果该组织尚未存在）。

平台迁移是重新考虑组织和团队结构的好机会。 请参阅“[在企业中组织工作的最佳做法](/zh/enterprise-server@3.22/admin/concepts/enterprise-best-practices/organize-work)”。

## 我们将迁移哪些存储库？

ELM 支持 每个目标企业最多可以有 20 个并发迁移，从单个实例最多可以进行 10 个并发存储库迁移。

首先使用 ELM 规划你要迁移哪些存储库，以及哪些可以稍后迁移或使用不同的迁移工具。 最有可能从 ELM 中受益的存储库包括：

* 长时间停机将扰乱业务的重点存储库
* 对于其他迁移工具来说太大的大型单体存储库

在GHE.com上无法访问公共存储库，这些存储库将在ELM上被拒绝。 可以在开始之前更改这些存储库 GitHub Enterprise Server 的可见性。

你应该检查选择的存储库是否包含超过 2GB 的发布资产，因为这是 ELM 的限制。

## 谁将负责迁移？

运行 ELM 迁移的人员必须：

* 拥有站点管理员访问权限到GitHub Enterprise Server实例
* 在GHE.com企业上成为企业所有者

此人需要执行以下任务：

* 在迁移之前，请在源企业和目标企业上创建 personal access tokens (classic) 。
* 在迁移期间，监视迁移状态并响应问题。

对于来自 ELM 实例的并发 GitHub Enterprise Server 迁移，同一个人必须使用相同的令牌运行所有 `elm` 命令。

迁移后，有人需要在 GHE.com 上执行一些后续任务。 任何组织所有者都可以执行此操作。

## 开发人员应该知道哪些内容？

在开始之前，请与开发人员沟通：

* 存储库将移动到新位置。 在迁移期间，用户可以继续使用源存储库，直到操作员开始最终切换到新位置。 切换后，源存储库将被归档，因此会变为只读，除非存储库管理员将其取消归档。
* 迁移正在进行时，开发人员应避免对存储库进行强制推送，因为这会以 ELM 无法解决的方式中断 Git 历史记录。
* 开发人员在迁移过程中执行的某些操作可能不会反映在迁移的存储库中。 有关详细信息，请参阅 [用于从 GitHub Enterprise Server 迁移到 GHE.com 的实时迁移数据](/zh/enterprise-server@3.22/migrations/elm/migrated-data-reference#events-included-in-live-updates) 中不支持的操作。

## 后续步骤

当您准备运行迁移时，请参阅 [使用企业实时迁移迁移存储库](/zh/enterprise-server@3.22/migrations/elm/migrate-your-repository)。