从TFS迁移到AzureDevOps

use*_*382 4 tfs migrate tfs-process-template tfvc azure-devops

我们计划将一个大型团队项目从TFS迁移到Azure DevOps。TFS存储库是经典的TFVC,而工作项模板是自定义的CMMI模板。要求是在迁移时将源代码存储库转换为具有历史记录的git,并将自定义的CMMI模板转换为Scrum工作项。我们也被问到保持源代码和工作项之间关系的可能性。我读了很多文章和博客。很少有工具和选项,例如tfsmigrator,git-tfs和vsts-wi-migrator。但是我不明白这个要求是可行的。微软甚至有了一个干净的开始,并将其作为首选。我需要有关天蓝色devops社区的评论/案例。

jes*_*ing 5

从理论上讲,有很多可能,但实际上,我认识的世界上只有少数人可以执行您建议的迁移。Martin Hinshelwood和David Corbin似乎专门研究这些类型的问题。我有相当多的经验,但是我似乎总是能使您摆脱一些关键要求的困扰,因为这些工作量很大,可能很昂贵,几乎不可能100%地完成。

如果必须这样做,我会尝试使您脱离一些要求。我会说服您采取以下方法:

  • 设置您的TFS服务器的克隆以多次测试此过程。
  • 在当前的TFS上,使用witmorph之类的工具将CMMI模板转换为就地Scrum。由于没有明确的一对一路径,因此这已经是相当多的工作。现在,TFS允许就地更改工作项类型,您可能需要更新witmorph才能利用这些功能。
  • 然后甚至在接触源代码之前直接迁移到Azure DevOps。
  • 更新您的TFVC签入注释以包括相关的工作项ID。您可以使用与此类似的脚本来遍历所有注释,并使用#1234工作项ID 更新它们。
  • 然后使用“ 从TFVC导入”将最近6个月的时间从TFVC导入到Git。
  • 保留旧的TFVC存储库并将其设置为只读。

这样,您就可以保留自己的历史记录。完全保真迁移是不可能的(TFVC并不是Git,并且某些事情不会转变)。如果您认为这很重要,那么您也可以在Git中获得相当多的历史记录。您的工作项将保持与TFVC的链接,因为您已将它们变形就位,其ID不会更改,并且不需要重新链接。鉴于您已经更新了签入说明,因此提交也应自动关联到现有工作项。

诸如构建,测试结果,发行版之类的其他内容也将以这种方式彻底迁移,最终您将接近目标解决方案的外观。