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

时间:2010-09-29 16:44:14

标签: tfs tfs2010 tfs-workitem tfs-process-template

我有一个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项目模板用作 templates 来创建新项目,并且在创建后无法修改tfs项目定义。

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

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

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

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

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

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

    • 源代码move / branch将“搞乱”版本控制历史记录

  6. alt text
    通过搞乱版本化历史,我的意思是当你移动源代码时,它会在幕后在原始位置执行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正确。启用“报告和仪表板参考此团队项目的数据”

    最后..

    • 处理仓库

    • 处理分析数据库

    尽管这涉及许多小步骤,但这看起来更具吸引力,因为 此选项不会强制我移动源代码,我现有的构建定义将保持不变。

    我的问题:

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

    和/或我错过了上一个解决方案中的任何步骤?

2 个答案:

答案 0 :(得分: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 

答案 1 :(得分:0)

你的第一个选择是恕我直言,你最好的一击。 您可以将旧团队项目中的源分支到新团队项目。使用TFS 2010,您还可以从分支位置查看历史记录。所以你不要在这里放松功能。

Build只是一个存储在源代码管理中的msbuild文件。您唯一需要做的就是复制构建定义。您可以手动执行此操作,也可以创建一个为您执行此操作的小应用程序。