Skip to main content

阶段 5. 将存储库从 Azure DevOps 迁移到 Github

执行试用运行,然后将存储库从 Azure DevOps 迁移到 GitHub。

先决条件

  • 您必须已完成本指南的所有先前阶段。
  • 确保了解将要迁移的数据以及导入程序已知的支持限制。有关详细信息,请参阅 阶段 1。 了解从 Azure DevOps 迁移到 GitHub
  • 虽然并非必需,但建议在生产迁移期间停止工作。 Importer 不支持增量迁移,因此迁移期间发生的任何更改都不会迁移。 如果选择在生产迁移期间不停止工作,需要手动迁移这些更改。

生成迁移脚本

如果要一次性将多个存储库迁移到 GitHub Enterprise Cloud,请使用 GitHub CLI 生成迁移脚本。 生成的脚本将包含迁移命令的列表(每个存储库一个)。

注意

生成脚本会输出 PowerShell 脚本。 如果使用的是终端,则需要以 .ps1 文件扩展名输出脚本,并安装适用于 MacLinux 的 PowerShell 才能运行它。

要生成迁移脚本,请运行 gh ado2gh generate-script 命令。

Shell
gh ado2gh generate-script --ado-org SOURCE --github-org DESTINATION --output FILENAME

将上述命令中的占位符替换为以下值。

占位符
源组织名称
目标目标组织的名称
FILENAME生成的迁移脚本的文件名

如果使用终端,请使用 .ps1 文件扩展名,因为生成的脚本需要 PowerShell 才能运行。 可以安装适用于 MacLinux 的 PowerShell。

其他参数

论点Description
--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 标志的值。 默认情况下,脚本设置与源存储库相同的可见性。

执行试运行

为了帮助发现企业可能特有的问题,我们因此强烈建议进行迁移的试运行。 通过试用运行,你将了解:

  • 给定存储库的迁移是否可以成功完成。
  • 是否可以将迁移的存储库恢复为可行的状态。
  • 迁移运行需要多长时间。

试用版运行可以随时进行,在迁移期间无需停止工作。 为了减少完成试迁移所需的时间,可以计划连续安排试运行的批次。 然后,这些存储库的用户可以在自己方便的时候进行结果验证。

  1. 为试验性迁移创建测试组织。

    可以将单个组织用于所有试运行,也可以为每个预期目标组织创建一个测试组织。 请考虑在组织名称的末尾添加 -sandbox,以阐明组织仅用于迁移验证,而不适用于生产。 完成后,可以删除测试组织。

  2. 运行测试迁移。

  3. 确认你能够在 阶段 6. 后续任务 中完成后续任务。

  4. 要求用户验证迁移结果。

  5. 解决试验性迁移发现的任何问题。

  6. (可选)删除测试组织。

迁移存储库

如果试用运行成功,并且能够完成后续任务,则可以继续执行实际迁移。

警告

建议停止正在迁移的存储库中的工作。 迁移期间或之后所做的任何更改都需要手动迁移。

若要迁移多个存储库,请运行生成的脚本。 将以下命令中的 FILENAME 替换为生成脚本时提供的文件名。

  • 如果使用终端,请使用 ./

    Shell
    ./FILENAME
    
  • 如果使用 PowerShell,请使用 .\

    Shell
    .\FILENAME
    

后续步骤

在下一阶段和最后阶段,你将执行后续任务、检查日志,并准备好使用存储库。 请参阅“阶段 6. 后续任务”。