先决条件
- 您必须已完成本指南的所有前置阶段。
- 确保您了解将要迁移的数据以及 Importer 已知的支持限制。欲了解更多信息,请参阅 了解从 Azure DevOps 到 GitHub 的迁移。
- 虽然不是强制要求,但我们建议在正式迁移期间暂停工作。Importer 不支持增量迁移,因此迁移期间所做的任何更改都不会被迁移。如果您选择在正式迁移期间不暂停工作,则需要手动迁移这些更改。
生成迁移脚本
如果您想一次性将多个仓库迁移到 GitHub Enterprise Cloud,请使用 GitHub CLI 生成迁移脚本。生成的脚本将包含每个仓库对应的迁移命令列表。
要生成迁移脚本,请运行 gh ado2gh generate-script 命令。
gh ado2gh generate-script --ado-org SOURCE --github-org DESTINATION --output FILENAME
gh ado2gh generate-script --ado-org SOURCE --github-org DESTINATION --output FILENAME
将上述命令中的占位符替换为以下值。
| 占位符 | 值 |
|---|---|
| SOURCE | 源组织的名称 |
| DESTINATION | 目标组织的名称 |
| FILENAME | 生成的迁移脚本文件名 如果您使用终端,请使用 .ps1 文件扩展名,因为生成的脚本需要 PowerShell 才能运行。您可以为 Mac 或 Linux 安装 PowerShell。 |
附加参数
| 参数 | 描述 |
|---|---|
--target-api-url TARGET-API-URL | 如果您迁移到 GHE.com,请添加 --target-api-url TARGET-API-URL,其中 TARGET-API-URL 是您企业子域的基础 API URL。例如:https://api.octocorp.ghe.com。 |
--all | 为脚本添加额外功能,例如重新配置流水线、创建团队以及配置 Azure Boards 集成。 |
--download-migration-logs | 下载每个已迁移仓库的迁移日志。有关迁移日志的更多信息,请参阅 获取 GitHub Enterprise Importer 迁移日志。 |
审查迁移脚本
生成脚本后,请审查该文件,并可选择编辑脚本。
- 如果有不想迁移的仓库,请删除或注释掉相应的行。
- 如果您希望某些仓库在目标组织中使用不同的名称,请更新相应
--target-repo标志的值。 - 如果您想更改新仓库的可见性,请更新相应
--target-repo-visibility标志的值。默认情况下,脚本会将可见性设置为与源仓库相同。
执行试运行
为帮助发现可能特有于您企业的问题,我们强烈建议先进行一次试运行迁移。通过试运行,您将了解
- 特定仓库的迁移是否能够成功完成。
- 是否能够使迁移后的仓库恢复到可使用的状态。
- 迁移需要多长时间。
试运行可以随时进行,迁移期间无需暂停工作。为缩短完成试运行的时间,您可以将批次安排为连续执行。相应仓库的用户可以在自己的时间验证结果。
-
为试运行迁移创建一个测试组织。
您可以为所有试运行使用同一个组织,或为每个目标组织分别创建一个测试组织。建议在组织名称末尾添加
-sandbox,以表明这些组织仅用于迁移验证,而非生产环境。完成后可以删除这些测试组织。 -
执行试运行迁移。
-
确认您能够完成 后续任务 中的操作。
-
请用户验证迁移结果。
-
解决试运行中发现的所有问题。
-
如有需要,删除测试组织。
迁移仓库
如果试运行成功且您已完成后续任务,则可以继续进行正式迁移。
警告
我们建议暂停正在迁移的仓库的工作。迁移期间或之后所做的任何更改都需要手动迁移。
要迁移多个仓库,请运行您生成的脚本。将以下命令中的 FILENAME 替换为生成脚本时指定的文件名。
-
如果您使用终端,请使用
./。Shell ./FILENAME
./FILENAME -
如果您使用 PowerShell,请使用
.\。Shell .\FILENAME
.\FILENAME