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

发布于 2024-09-25 14:16:00 字数 1963 浏览 5 评论 0原文

我安装了一个 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 项目定义。

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

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

据我所知,我有以下选项:

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

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

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

    • 源代码移动/分支会“搞乱”版本控制历史记录

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

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

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

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

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

每个 tfs 项目

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

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

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

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

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

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

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

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

  • 删除旧 SharePoint 网站

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

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

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

最后......

  • 处理仓库

  • 处理分析数据库

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

我的问题:

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

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

I have an TFS server installation that through time has gone through upgrades from TFS 2005 to TFS 2008 and then to TFS 2010.
During the lifetime of the installation a lot of projects have been created and different project templates have been used. MSF Agile 4.0, 4.1, 4.2 and 5.0. and a few MSF CMMI ones.

What I would like to do is "replace" the project template used for all these projects to use a new one common one: Microsoft Visual Studio Scrum 1.0.

I am aware that TFS project templates are used as templates for creating new projects and cannot modify the tfs projects definitions after creation.

Uptil now only the version control and build server part of TFS have been used and there are no existing work item types.

Additionally all projects and build scripts are depending on the source code paths stay the same.

As I see it I have the following options:

Create new TFS projects using the correct project template and then move/branch the source code to the new project.

  1. All code is moved to a temporary team project.
  2. The old project is deleted
  3. New project with the original name and correct process template is created
  4. Code is moved to the new team project
  5. Temporary team project is deleted

    • All the build definitions needs to be to recreated which is not an option.

    • The source code move/branch will "mess up" the versioning history

alt text
By messing up the versioning history I mean that when you move source code it will behind the scenes do a delete + source rename on the original location and the history will still be located in the old project. This will make searching in the history difficult and if I actually delete the old project I will loose all the history before the source code move.

This is really not an option for me since there is years of code change history that is needed to for supporting the different applications being built.

Use the TFS migration tools to migrate to another TFS project

  • This has the same downsides as the first solution

Replace/import work item types, install new reports, create new SharePoint sites

For each tfs project

  • Delete existing work item definitions using "witadmin deletewitd"

  • Import each work item definition from the new process template using "witadmin importwitd"

  • Import work item categories using "witadmin importcategories"

  • Delete old reports in project folder in report server

  • Upload the report definitions from the new process template

  • Modify data sources used for the reports using the report manager to point to the correct shared data sources (TfsReportDS and TfsOlapReportsDS)

  • Modify the report parameter ExplicitProject default value to "" (empty string) and disable prompt user option.

  • Export the documents in the old SharePoint site using stsadm

  • Delete the old SharePoint site

  • Recreate the sharepoint site using the TFS2010 Agile Dashboard site template

  • Activate site feature "Team Foundation Server Scrum dashboard"

  • In TFS Project Settings -> Project Portal Settings: Enable "team project portal" and ensure the url is correct. Enable "reports and dashboards refer to data for this team project"

And finally..

  • Process the Warehouse

  • Process the Analysis Database

Even though that this involves a lot of small steps this looks more appealing because
this option will not force me to move the source code and my existing build definitions will be intact.

My question:

Are there other ways to achieve the replacement of work item types that I haven't mentioned?

And/or am I missing any steps in last solution?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眸中客 2024-10-02 14:16:00

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

删除旧报告并导出 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 

Given that you aren't using any existing work item types, your final proposal looks like the best option.

After deleting the old reports and exporting the SharePoint documents (you could also use Windows Explorer instead of stsadm), there are actually two commands in 'tfpt' that will help you. This will reduce it from 14 steps down to 5 or 6 steps.

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 
拥抱我好吗 2024-10-02 14:16:00

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

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

Your first option is IMHO your best shot.
You can branch the sources from the old team project to the new team project. With TFS 2010 you can see the history also from the branched location. So you don't loose functionality in here.

The Build is just an msbuild file which is stored in source control. The only thing you have to do is actually copy the build definitions. You can do that either manually, or you can create a little app that does that for you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文