前面的一个回答已经抓住了大部分的关键点,没有工具可以迁移100%的数据零数据丢失(其实是不可行的,因为天生一些自动生成和配置的值,比如work项目 ID 等,在两个实例之间本质上是不同的)。因此,实现零数据丢失迁移的唯一方法是将完整的项目集合映像从 Azure DevOps Services 提升并转移到 Azure DevOps Server,官方 Azure DevOps 迁移工具不支持这种方式。鉴于此,迁移数据的唯一方法是使用 Azure DevOps API。
因此,最好的方法是了解您正在评估的迁移工具无法迁移哪些数据,然后确定最适合您的方法。此外,在选择迁移解决方案时,它不会是非黑即白的选择。首先,您需要定义迁移所需的必备条件,然后评估市场上可用的不同迁移器。以下是一些常见的选择标准:
- 数据丢失:
了解迁移解决方案可以迁移和不可以迁移的数据。理想情况下,该工具应该能够迁移工作项(连同历史记录、附件、提及和内联图像)和测试管理,包括测试结果、源代码、仪表板、区域和迭代。对于构建和管道,您可以使用本机导出-导入功能,因为它们需要手动更改来调整连接。
- 零停机时间:
停机会增加运营成本并影响开发运营,因为团队无法使用 Azure DevOps 工具。彻底了解任何类型的数据都不需要停机。
- 易用性:
一些工具是不受支持的脚本(裸敏捷)的集合,需要非常高的复杂度才能使用。这些可能非常昂贵(即使脚本是开源的),容易出错并妨碍操作。
- 项目合并或自定义模板:
分析您是否希望在迁移时将多个项目合并为一个项目,或者是否需要自定义模板。如果需要,请评估迁移工具是否可以轻松支持此类配置并有 UI 来支持。为每个项目手动配置映射可能很乏味且极易出错。
- 迁移时间:
许多迁移工具会一个一个地迁移项目,因此需要花费大量的精力和时间来迁移分布在多个项目中的数据。了解可以并行迁移多少项目以实现快速迁移。
- 反向同步:
您希望在迁移后一段时间内保持服务和服务器之间的数据同步吗?数据是双向整合还是单向整合?回答这些问题,然后评估迁移解决方案是否满足要求。
- 商业支持:
迁移可能会很棘手且耗时,因为随着时间的推移,不同的团队已经在其中创建了所有奇怪的东西。最好让专家团队为您完成迁移,同时您专注于定义需求和验证迁移的完整性。
我希望这会有所帮助。在 OpsHub,我们是数据迁移方面的专家,在过去十年中,我们使用 OpsHub Azure DevOps migrator 将多个组织迁移到 Azure DevOps 服务和服务器。 Contact us 如果您需要更多帮助。