Azure DevOps 数据迁移工具入门

在使用 Azure DevOps 数据迁移工具迁移具有高保真度的数据库之前,请了解本文中的一些基本概念。

关系图突出显示了顺序阶段中的“入门”阶段。

了解哪些数据已迁移

并非所有数据都会迁移。 集合外部的单独数据库(例如报表和 SharePoint 数据)不会迁移。 以下部分列出了有关哪些数据迁移的更多详细信息。

已包含的数据

下表显示了迁移中包含的数据。

已包含的数据 说明
集合映射 Azure DevOps Server 中的每个集合对应于一个数据库。 在迁移期间,整个集合(包括工作项、历史记录、Team Foundation 版本控制(TFVC)更改集、Git 数据、生成定义等)将迁移到 Azure DevOps Services。 工作项、TFVC 更改集和 Git 提交编号/ID 保持不变。

排除的数据

下表显示了迁移中的特定数据排除项。

排除的数据 说明
扩展 迁移后必须重新安装扩展。 应将本地扩展作为专用扩展发布到市场,并与帐户共享。
服务挂钩 迁移中不包括服务挂钩数据;迁移后重新配置。
负载测试 负载测试数据不会引入;迁移后重新配置负载测试。
管道代理和代理池 迁移后重新配置管道代理和代理池。
提及 工作项讨论中的用户提及保留本地标识,而不是新的 Microsoft Entra ID。 将鼠标悬停在用户名上不会显示联系人卡,某些超链接可能无效。
Project Server 集成 不适用于 Azure DevOps Services。 例如,XAML 生成、Microsoft 测试管理器、SharePoint、SQL 数据仓库等。
预览功能 迁移到 Azure DevOps Services 期间,可以预览某些 Azure DevOps Server 功能。

项目限制

如果集合包含许多项目,则 Azure DevOps Services 会为每个组织施加 1,000 个项目的限制,尽管我们建议使用 300 个或更少项目。 超出此阈值,某些体验(例如从 Visual Studio 连接到组织)可能会降级。 若要保持在限制范围内,请考虑拆分集合或删除旧项目。

了解本地数据库与 Azure DevOps 组织之间的关系。

在深入了解迁移规划之前,请务必在提升级别了解数据库迁移过程的工作原理。 迁移针对以下主要概念进行操作:

  • 团队项目集合:Azure DevOps Server 中的集合是团队项目及其项目的物理容器。 每个集合等同于单个 SQL 数据库,并且是迁移到 Azure DevOps Services 的源。
  • Azure DevOps Services 组织:组织是云托管服务中的管理单元。 从逻辑上讲,它们将 1:1 映射到 Azure DevOps Server 中团队项目集合的概念。 因此,组织是迁移到 Azure DevOps Services 的目标。 例如,Azure DevOps Services 组织表示为 https://dev.azure.com/Contoso Contoso 表示 Azure DevOps Services 组织的名称。

迁移团队项目集合 SQL 数据库时,数据迁移工具会创建一个新的 Azure DevOps 组织,其中包含用户提供的名称。 无法将集合数据库迁移到现有的 Azure DevOps Services 组织或将多个集合数据库合并到单个 Azure DevOps Services 组织。 映射严格是团队项目集合和 Azure DevOps Services 组织之间的一对一映射。

选择数据中心

设置 Azure DevOps Services 组织时,可以选择数据的位置。 在初始注册和组织创建过程中,选择符合需求的区域。 若要稍后用于迁移,请记下区域的速记代码。 有关详细信息,请参阅迁移支持的区域。

了解定价

迁移通常提出的一个问题是公司需要使用 Azure DevOps Services 的许可类型。 好消息是,你可能拥有所需的所有许可证。 我们创建了一个应涵盖大多数情况的示例工作表。 如果你有有关你的情况的任何特定问题,请联系开发人员解决方案销售专家或 Microsoft 经销商。 有关详细信息,请参阅 Azure DevOps 的定价。

用户许可证工作表

# 列 1 列 2
1 团队成员数
2 利益干系人数
3 从行 (1) 减去行 (2) *
4 Visual Studio 订阅者的 #
5 从行 (3) 中减去行 (4)
6 从行 (5) 减去行 (5)
  • *利益干系人是免费的
  • ** Visual Studio 订阅者将 Azure DevOps Services 作为订阅的权益包含在内
  • 每个 Azure DevOps Services 组织将获得五个免费用户

有关访问功能的成本高效选项的详细信息,请参阅 计费概述Azure 定价计算器

通过 Visual Studio Marketplace 或 Azure 门户购买任何所需的 Azure DevOps Services 用户许可证。 我们在准备测试运行阶段深入探讨此过程。

除了核心功能之外,Azure DevOps 中还提供以下增值服务,你可能会发现这些服务很有用:

  • 托管负载测试服务:如果需要模拟和分析负载下应用程序的性能,Azure DevOps 提供托管负载测试服务。 这些服务允许你对应用程序进行压力测试,并确定瓶颈或性能问题。
  • 测试管理器扩展:若要进行全面的测试管理,请考虑使用测试管理器扩展。 这些扩展通过提供测试用例管理、探索测试和测试执行跟踪等功能来增强测试功能。
  • 更多功能:Azure DevOps 提供满足特定需求的各种扩展和集成。 无论是与非 Microsoft 工具集成、增强安全性还是自动化部署管道,都有各种选项。

其中一些服务可能会产生额外的成本,因此必须相应地评估要求和预算。 这些成本显示在关联订阅下的帐单上。 有关详细信息,请参阅 “设置计费”。 如果对你的情况有特定问题,请联系 DevOps 合作伙伴、Microsoft 经销商或 Microsoft 开发人员解决方案销售专家获取个性化指导。

保留新组织

考虑到迁移项目的时间线,我们建议尽早保留组织的名称,以确保所需的名称可用于最终迁移。

例如,如果你的公司是 Contoso,并且你想要一个具有匹配名称的组织, https://dev.azure.com/contoso则可以立即创建具有该名称的组织。 但请记住,只能迁移到全新的 Azure DevOps Services 组织。

执行以下步骤以保留组织名称。

  1. 初始预留:
    1. 创建具有临时名称的组织,例如 https://dev.azure.com/contoso-temporary
    2. 为将来的迁移保留此临时名称。
  2. 最终迁移:
    1. 准备好开始最终迁移时,请将其执行到 https://dev.azure.com/contoso-temporary 组织中。
    2. 成功迁移后,重命名保留组织以打开导入的组织所需的名称。 重命名它,而不是删除它,因为删除可能需要长达一小时才能释放名称,重命名它立即。
    3. 立即将迁移的组织重命名为所需名称,例如, https://dev.azure.com/contoso只需重命名即可清除该名称。
    4. (可选)此时,可以删除最初保留和重命名的组织。

通过遵循此方法,可以顺利过渡,同时确保首选的组织名称保持可用。

后续步骤