You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为DevOps Server 2020已有项目更改Process Template并迁移TFS 2017项目

TFS 2017迁移至DevOps Server 2020并替换自定义流程模板操作指南

前置验证要求

操作前先完成以下检查,避免迁移异常:

  • 确认TFS 2017已升级到最新更新包(至少Update 3版本),消除跨版本兼容性问题
  • 完成TFS 2017全量项目集合数据库备份,所有迁移操作必须在备份完成后执行
  • 确认DevOps Server 2020环境的服务权限、运行状态正常,你自定义的新流程模板已上传到目标集合/组织层级,状态为已启用
  • 提前梳理旧项目所有工作项类型、自定义字段、工作流状态的清单,和新模板的对应配置做好映射对照

两种可选迁移方案

方案1:项目集合全量迁移后替换模板(适合多项目批量迁移,可保留完整历史数据)

  1. 分离TFS 2017对应的项目集合数据库,将备份的数据库文件还原到DevOps Server 2020关联的SQL Server实例中
  2. 打开DevOps Server管理控制台,选择「附加项目集合」,按照向导完成集合的附加与自动升级,这一步旧项目会暂时沿用原有旧版Agile模板
  3. 调用随Visual Studio或DevOps客户端工具附带的witadmin命令行工具,导出旧项目的现有字段定义:
    witadmin listfields /collection:http://你的DevOps服务地址/目标集合名称 /export:OldFieldDef.xml
    
  4. 对照你自定义的新模板配置,完成映射调整:
    • 新旧模板共有的字段直接保留映射关系
    • 旧项目有、新模板没有但需要保留的字段,提前添加到自定义新模板的对应工作项配置中
    • 新旧工作流状态做一一绑定,比如旧的「已提交」映射到新模板的「待评审」
  5. 执行命令切换项目关联的流程模板为自定义模板:
    witadmin importprocessconfig /collection:http://你的DevOps服务地址/目标集合名称 /p:目标项目名称 /f:自定义模板的ProcessConfig.xml文件路径
    
  6. 逐个导入新模板的工作项类型定义,覆盖旧版本配置:
    witadmin importwitd /collection:http://你的DevOps服务地址/目标集合名称 /p:目标项目名称 /f:自定义模板对应工作项的XML配置路径
    
  7. 验证所有工作项的字段值、自定义列、工作流跳转、历史记录正常,无数据丢失

方案2:单项目单独迁移(适合少量项目,可同步完成数据清洗)

  1. 在DevOps Server 2020中直接用你的自定义新模板创建空白目标项目
  2. 从TFS 2017导出旧项目的所有工作项数据为CSV格式,同步导出代码仓库、构建管道、测试用例等其他资产
  3. 按照新模板的字段、状态规则调整CSV内容,完成新旧配置的映射匹配
  4. 将调整后的工作项数据批量导入到新创建的目标项目中,再逐一迁移其他项目资产
  5. 全量校验迁移后的数据一致性

注意事项

  • 方案2无法完整迁移工作项的历史评论、附件、变更记录,需要保留全量历史的场景优先选方案1
  • 自定义字段的引用名称必须和新模板完全一致,否则会出现字段值不匹配的问题
  • 迁移完成后至少保留7天旧环境备份,确认所有功能正常后再下线旧TFS环境

内容的提问来源于stack exchange,提问作者user2326796

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:06:04