【发布时间】:2022-07-18 14:35:59
【问题描述】:
我的公司需要在不丢失数据的情况下将 Azure DevOps 从云迁移到服务器。在描述和说明中,只有转移到服务的可能性。告诉我如何将数据传输到我的服务器并在那里部署服务? 使用 OpsHub Azure DevOps Migrator,但不支持从服务器迁移。
【问题讨论】:
标签: azure-devops tfs azure-devops-server
我的公司需要在不丢失数据的情况下将 Azure DevOps 从云迁移到服务器。在描述和说明中,只有转移到服务的可能性。告诉我如何将数据传输到我的服务器并在那里部署服务? 使用 OpsHub Azure DevOps Migrator,但不支持从服务器迁移。
【问题讨论】:
标签: azure-devops tfs azure-devops-server
没有办法从 Azure DevOps 到自托管服务器而不损失。 official migration tools only work from server to cloud。
Azure DevOps 通常比 Azure DevOps Server 早几个月,并且具有 Azure DevOps Server 上甚至不存在的功能。因此,数据模型永远向后不兼容。
在 2015 年有 1 个短时间段可以停止服务。我迁移和升级我仍然遇到其中一些,它们都有奇怪的边缘情况问题,导致升级失败等。
有些工具可以分别传输工作项、变更集、git repos、管道,但它们不会无损传输,也无法传输所有内容。
这些工具将重放工作项更改、TFVC 更改集、包提要和管道工件。这可能会导致数据丢失、生成新 ID 并更改创建、更改和关闭日期等。
OpsHub Azure DevOps Migrator 可以在服务器之间迁移以及从 Azure DevOps 迁移到 Azure DevOps Server,但并非没有数据丢失。
NkdAgility's Azure DevOps Migration Tools 可以在服务器和云端之间迁移和同步工作项。有一个great hands-on lab。
【讨论】:
没有任何工具可以迁移 100% 的数据而零数据丢失(实际上,这是不可行的,因为一些自动生成的和配置的值,如工作项 ID 等,在两个实例之间本质上是不同的)。因此,实现零数据丢失迁移的唯一方法是将完整的项目集合映像从 Azure DevOps Services 提升并转移到 Azure DevOps Server,官方 Azure DevOps 迁移工具不支持这种方式。鉴于此,迁移数据的唯一方法是使用 Azure DevOps API。 因此,最好的方法是了解您正在评估的迁移工具无法迁移哪些数据,然后确定最适合您的方法。此外,在选择迁移解决方案时,它不会是非黑即白的选择。首先,您需要定义迁移所需的必备条件,然后评估市场上可用的不同迁移器。以下是一些常见的选择标准:
数据丢失:了解迁移解决方案可以迁移和不能迁移的数据。理想情况下,该工具应该能够迁移工作项(连同历史记录、附件、提及和内联图像)和测试管理,包括测试结果、源代码、仪表板、区域和迭代。对于构建和管道,您可以使用本机导出-导入功能,因为它们需要手动更改来调整连接。
零停机时间:停机时间会增加运营成本并影响开发运营,因为团队无法使用 Azure DevOps 工具。彻底了解任何类型的数据都不需要停机。
易于使用:某些工具是不受支持的脚本(Naked Agility)的集合,需要非常高的复杂度才能使用。这些可能非常昂贵(即使脚本是开源的)、容易出错并且妨碍操作。
项目合并或自定义模板:分析您是否希望在迁移时将多个项目合并为一个项目,或者是否需要自定义模板。如果需要,请评估迁移工具是否可以轻松支持此类配置并且是否有 UI 来支持。为每个项目手动配置映射可能很乏味且极易出错。
迁移时间:许多迁移工具会一个一个地迁移项目,因此需要花费大量的精力和时间来迁移分布在多个项目中的数据。了解可以并行迁移多少项目以实现快速迁移。
反向同步:您希望在迁移后的一段时间内保持服务和服务器之间的数据同步吗?数据是双向整合还是单向整合?回答这些问题,然后评估迁移解决方案是否满足要求。
商业支持:迁移可能会非常棘手且耗时,因为随着时间的推移,不同的团队已经在其中创建了所有奇怪的东西。最好让专家团队为您完成迁移,同时您专注于定义需求和验证迁移的完整性。
我希望这会有所帮助。 OpsHub Azure DevOps Migrator付费版支持云端迁移到服务器版。 Contact us,我们很乐意为您的迁移之旅提供帮助。
【讨论】: