在TFS 2010中更改现有项目的流程模板的步骤

Mar*_*ahl 28 tfs tfs2010 tfs-process-template tfs-workitem

我有一个TFS服务器安装,随着时间的推移,从TFS 2005升级到TFS 2008再升级到TFS 2010.在安装的生命周期中,已经创建了很多项目并且使用了不同的项目模板.MSF Agile 4.0,4.1,4.2和5.0.以及一些MSF CMMI.

我想要做的是"替换"用于所有这些项目的项目模板,以使用一个新的常用项目:Microsoft Visual Studio Scrum 1.0.

我知道TFS项目模板用作创建新项目的模板,并且在创建后无法修改tfs项目定义.

Uptil现在只使用了TFS的版本控制和构建服务器部分,并且没有现有的工作项类型.

此外,所有项目和构建脚本都依赖于源代码路径保持不变.

在我看来,我有以下选择:

使用正确的项目模板创建新的TFS项目,然后将源代码移动/分支到新项目.

  1. 所有代码都移动到临时团队项目.
  2. 旧项目已删除
  3. 将创建具有原始名称和正确流程模板的新项目
  4. 代码将移至新的团队项目
  5. 临时团队项目已删除

    • 所有构建定义都需要重新创建,这不是一个选项.

    • 源代码移动/分支将"搞乱"版本控制历史记录

替代文字
通过搞乱版本化历史,我的意思是当你移动源代码时,它会在幕后在原始位置执行delete + source重命名,并且历史记录仍将位于旧项目中.这将使历史记录中的搜索变得困难,如果我实际上删除了旧项目,我将在源代码移动之前删除所有历史记录.

这对我来说真的不是一个选项,因为需要多年的代码更改历史记录来支持正在构建的不同应用程序.

使用TFS迁移工具迁移到另一个TFS项目

  • 这与第一种解决方案具有相同的缺点

替换/导入工作项类型,安装新报表,创建新的SharePoint站点

对于每个tfs项目

  • 使用"witadmin deletewitd"删除现有工作项定义

  • 使用"witadmin importwitd"从新流程模板导入每个工作项定义

  • 使用"witadmin importcategories"导入工作项类别

  • 删除报表服务器中项目文件夹中的旧报表

  • 从新流程模板上载报告定义

  • 使用报表管理器修改用于报表的数据源,以指向正确的共享数据源(TfsReportDS和TfsOlapReportsDS)

  • 将报表参数ExplicitProject默认值修改为""(空字符串)并禁用提示用户选项.

  • 使用stsadm导出旧SharePoint网站中的文档

  • 删除旧的SharePoint站点

  • 使用TFS2010 Agile Dashboard站点模板重新创建sharepoint站点

  • 激活站点功能"Team Foundation Server Scrum仪表板"

  • 在TFS项目设置 - >项目门户设置:启用"团队项目门户"并确保URL正确.启用"报告和仪表板引用此团队项目的数据"

最后......

  • 处理仓库

  • 处理分析数据库

即使这涉及许多小步骤,这看起来更有吸引力,因为这个选项不会强迫我移动源代码,我的现有构建定义将完好无损.

我的问题:

是否还有其他方法可以替换我未提及的工作项类型?

和/或我错过了最后解决方案中的任何步骤?

Gra*_*day 12

鉴于您没有使用任何现有的工作项类型,您的最终提案看起来是最佳选择.

删除旧报告并导出SharePoint文档后(您也可以使用Windows资源管理器而不是stsadm)," tfpt " 中实际上有两个命令可以帮助您.这将把它从14步减少到5或6步.

tfpt addprojectreports  Add or overwrite reports for an existing team project
tfpt addprojectportal   Add or move portal for an existing team project

tfpt addprojectreports /collection:http://yourtfs:8080/tfs/YourCollection /teamproject:"Your Team Project" /processtemplate:"Microsoft Visual Studio Scrum 1.0" /verbose
tfpt addprojectreports /collection:http://yourtfs:8080/tfs/YourCollection /teamproject:"Your Team Project" /processtemplate:"Microsoft Visual Studio Scrum 1.0" /verbose 
Run Code Online (Sandbox Code Playgroud)