28

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

我想做的是“替换”用于所有这些项目的项目模板,以使用一个新的通用模板:Microsoft Visual Studio Scrum 1.0。

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

到目前为止,仅使用了 TFS 的版本控制和构建服务器部分,并且没有现有的工作项类型。

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

正如我所看到的,我有以下选择:

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

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

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

    • 源代码移动/分支将“弄乱”版本控制历史

替代文字
通过弄乱版本控制历史,我的意思是当您移动源代码时,它将在幕后对原始位置执行删除 + 源重命名,并且历史仍将位于旧项目中。这将使在历史记录中的搜索变得困难,如果我真的删除了旧项目,我将在源代码移动之前丢失所有历史记录。

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

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

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

替换/导入工作项类型、安装新报告、创建新 SharePoint 站点

对于每个 tfs 项目

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

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

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

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

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

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

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

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

  • 删除旧的 SharePoint 网站

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

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

  • 在 TFS 项目设置 -> 项目门户设置中:启用“团队项目门户”并确保 url 正确。启用“报告和仪表板引用此团队项目的数据”

最后..

  • 处理仓库

  • 处理分析数据库

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

我的问题:

还有其他方法可以实现我没有提到的工作项类型的替换吗?

和/或我是否遗漏了最后一个解决方案中的任何步骤?

4

2 回答 2

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 
于 2010-11-01T03:43:54.800 回答
0

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

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

于 2010-09-29T18:31:04.673 回答