迁移选项

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

当你决定从Azure DevOps Server迁移到Azure DevOps Services时,你可能开始使用空的组织。 但是,通常,你将拥有要移动的现有代码、工作项和其他资产。 执行此操作的方法有很多,这在数据传输的保真度和过程的复杂性方面都有所不同。

在迁移数据之前,请查看Azure DevOps Server和Azure DevOps Services之间存在的差异。

选项 1:手动复制最重要的资产

到目前为止,将数据移动到Azure DevOps Services最简单的选择是手动复制最重要的资产并开始相对新鲜。 当你在大型项目中间时,这可能很困难,但如果对团队进行一些预先规划和安排移动,则可以简化此操作。

例如,当Azure DevOps团队选择从Azure DevOps Server移动到Azure DevOps Services时,我们还决定从 Team Foundation 版本控制 (TFVC) 迁移到 Git。 这需要相当多的规划,但是当我们实际执行迁移时,我们使用 TF VC 源的“提示”版本创建了一个新的 Git 存储库,并将我们的历史抛在了Azure DevOps Server。 我们还移动了活动的工作项,并留下了所有旧 bug、已完成的用户情景和任务等。

下面是一般过程:

  1. 确定需要迁移的最重要资产 -通常是源代码、工作项或两者。 Azure DevOps Server中的其他资产(生成管道、测试计划等)很难手动迁移。
  2. 确定进行转换的好时机。
  3. 准备目标组织。 创建所需的组织和团队项目、预配用户等。
  4. 迁移数据。
  5. 请考虑将源Azure DevOps Server部署只读。

选项 2:高保真数据库迁移。

Azure DevOps Server & Azure DevOps Services产品团队提供高保真数据迁移工具。 可在以下位置 https://aka.ms/AzureDevOpsImport获取可下载的迁移指南。

Migration Guide

由于数据迁移工具在数据库级别运行,因此可以提供非常高的保真迁移。 如果要将现有Azure DevOps Server数据移动到Azure DevOps Services,强烈建议使用此选项。

选项 3:使用基于公共 API 的工具实现更高的保真度迁移

如果出于某种原因无法使用数据迁移工具,但仍需要比选项 1 更高的保真度迁移,则可以从使用公共 API 移动数据的各种工具中进行选择。 通常,这些工具可以提供比手动复制“提示”数据更高的保真度迁移,但它们保真度仍然相对较低。 例如:

  • 它们都不会保留 TF VC 更改集的日期。
  • 其中许多人不会保留工作项修订的更改日期。
  • 它们都不会迁移所有Azure DevOps Server项目。

一般情况下,仅当超出手动复制的额外保真度至关重要时,我们才建议使用此方法。 如果决定采用此方法,可以考虑聘请具有一个或多个工具经验的顾问。 在完成最终迁移之前,你一定要考虑执行测试迁移。

许多组织只需要一部分工作的保真度迁移。 新工作可能会在Azure DevOps Services直接开始。 其他工作(保真度要求较低)可以使用其他方法之一进行迁移。 你必须权衡各种方法的利弊,以对抗你进入Azure DevOps Services的动机,并为自己决定什么是正确的策略。