自定义过程模板

过程模板对应于一组相互依赖的文件,这些文件用于创建 Team Foundation Server (TFS) 团队项目。 团队项目是一个中心计划工具,可用于跟踪信息和组织团队的源代码、生成、测试和计划。 除了创建团队项目之外,你还可以在升级到本地 TFS 后使用 TFS 过程模板来升级现有团队项目。

如果你在寻找软件开发项目模板,请参阅创建 Visual Studio 模板。 该主题是关于用于创建 TFS 团队项目的过程模板。

TFS 过程模板定义了一些默认配置以及以下一些工件,你的团队用它们来进行合作、共享信息以及计划和跟踪工作。

TFS 2013 Agile 过程模板工件

TFS 2013 Agile 过程模板工件

这些工件很多依赖于为跟踪工作而定义的对象的创建和定义。 例如,在工作项类型(例如功能、错误、用户故事或任务)定义中定义的数据字段也用于定义工作项查询和报告。 除了这些工件,你还可以定义最初的项目区域和里程碑、安全配置和其他支持版本控制和测试管理的默认设置。

创建团队项目后,你可以更改配置并自定义工件。 但是,如果在创建团队项目之前自定义过程模板,则通过该模板创建的所有团队项目都将与团队的一套标准过程相匹配。 你希望自定义过程模板的主要原因可能包括:

  • 你计划创建一些团队项目并且你想要最大限度减少重复任务(以后你得在创建的团队项目中执行)。

  • 通过在工具集(你的软件开发团队将会使用)中提供模板和结构,你希望确保所有团队都遵守一定的标准。

  • 你需要更新自定义过程模板,以便在 TFS 升级后支持配置功能向导的使用

如果你只使用单个团队项目,则你可能会考虑只创建该团队项目并在以后再自定义一个或多个对象。

我应从何处着手?

自定义过程模板之前,你希望了解可以配置和自定义的内容,然后相应地计划所要做的更改。

你可以自定义的过程模板文件和功能区域

过程模板由九个插件组成。 每个插件定义了将要运行的一套任务以及新团队项目向导启动时出现的屏幕。 这些任务将设置权限、创建文件夹、上载文件、激活网站或设置其他可配置的变量。 插件还指定了一项任务对其他任务成功完成的依赖关系。

过程模板插件

要自定义过程模板,你需要自定义与功能区域相关的一个或多个文件。 虽然自定义任何一个对象都相当简单,但是你也得确保在自定义时没有违反任何相互依赖关系。

以团队方式工作的概念图

团队和默认分类

工作项追踪

“版本控制”概念图

版本控制、生成、实验室和测试管理

报表的概念图

报告和项目门户

因为过程模板涉及团队过程的许多组件,你可能希望进行计划、合作并跟踪你将要做出的更改。 尤其是在对任何一个区域进行更改前,你可能希望与项目领导、测试领导、开发领导以及发布经理一起进行核查。

自定义过程模板的步骤

自定义过程模板是一个迭代的过程。 你需要一个在运行Team Foundation Server(在这里你可以测试过程模板以确保其自定义正确)的服务器上定义的团队项目集合。

要自定义过程模板,你首先要下载一个现存的过程模板,修改或添加文件,上传过程模板文件,然后确认更改。

过程模板自定义工作流

步骤

任务

步骤 1

下载过程模板。 在自定义过程模板之前,你必须将其下载到本地计算机上。

要最大限度地减少必要的修改,请选择与团队过程最匹配的模板。 通常,根据工作项和工作流类型选择过程模板。

步骤 2

修改或添加文件。 通过修改、删除或添加为过程模板定义的文件来自定义过程模板。 通过修改 XML 内容来自定义插件或定义文件。 每个插件文件和类型定义文件必须符合其 XML 架构定义。

第一次自定义过程模板时,做少许更改。 如果在没有了解所做更改会如何影响模板的情况下做了更改,你可能会遇到多个难以调试的错误。

请确保你的过程模板的名称统一。 如果你下载了一个过程模板,做了更改并要上传,则你必须更改它的名称,否则它会从项目集合覆盖现有过程模板。

步骤 3

上载过程模板。 自定义模板后,将其上传到你要创建团队项目的团队项目集合中。

理想情况下,你应该使用不被其他团队项目使用的团队项目集。 通过在试验台项目集合中工作,你可以避免引入可能与现有团队过程(仍然有待开发)冲突的变化。 同样,你会希望团队项目集合可以支持你希望团队成员可以获取的相同的资源,例如项目门户和报告站点。

请确保你的过程模板的名称统一。 如果从团队项目集合下载了一个过程模板,做了更改,并在上传该模板,则你必须更改其名称或从团队项目集将现有过程模板删除。

上传过程执行验证检查以确保 XML 有效。 如果在上传该过程模板的过程中,收到错误,则可能是由于所做的更改造成的。 查看更改,并将发现的任何 XML 语法错误更改过来。

步骤 4

创建团队项目。 要测试新的过程模板,你必须创建团队项目。 通过从 团队资源管理器 访问新团队项目向导创建团队项目。

如果出现任何错误,查看团队项目创建日志。 日志包含其试图运行的任务的列表并显示失败的任务。 你可以将失败的任务映射回 XML 以确定错误的原因。

你可以使用 TFSDeleteProject 命令行工具清理不必要的团队项目。

步骤 5

验证对过程模板所做的更改。 在你把过程模板放于生产模式中并用它作为一些团队项目的基础之前,你应该要确定该模板定义正确。 系统地执行该任务,从而确定每个对象和工件按预期运行。

如果添加了报告,请确保其出现在 团队资源管理器 中。 如果添加了字段,请确保没有引入任何架构冲突。

问题解答

问:我可以使用 TFS 提供的默认过程模板以外的模板吗?

**答:**可以。 有时第三方会提供他们创建的过程模板。 如果使用如此处所描述的第三方提供的过程模块,则 TFS 升级后你可能需要做一些额外工作。

你可以在 CodePlex.com 上进行调查以确定是否有过程模板已经上传到这里。

问:我需要什么权限来自定义过程模板?

**答:**要下载或上传过程模板,你必须要么是“项目集合管理员”组成员,要么将“管理过程模板”用户权限设置为“允许”。 请参阅添加账户到管理员项目集合

问:我可以用什么工具自定义过程模板?

**答:**你可以使用任何文本编辑器或 XML 编辑器来修改 XML 文件。 或者,你可以使用过程编辑器(一种用于 Visual Studio 的强大工具)来自定义过程模板文件。 要下载,请转到Team Foundation Server Power Tools

过程编辑器提供一个用户界面,你可以使用该界面自定义以下区域:

  • 工作项追踪

    • 为工作项类型创建和编辑定义,包括添加字段、更改工作流和工作项表单

    • 添加或编辑分类,为工作项类型分组

    • 为 Agile 计划工具编辑过程配置

    • 创建和编辑工作项查询,并将查询归入查询文件夹

    • 创建和编辑链接类型

  • 项目分类和层次结构

    • 创建和编辑产品区域的路径

    • 创建和编辑里程碑版本或迭代路径

    • 为 Microsoft Project 修改映射文件

  • 安全组:创建和编辑 TFS 组以及它们的权限

  • 版本控制

    • 编辑签出设置

    • 创建和编辑签入笔记

    • 创建和编辑 TFS 组以及它们的权限

  • 门户和报告

    • 查看将要上传的文件及它们的文件结构

    • 添加将要上传的文件。

问:需要什么样的资源来支持特定的插件?

**答:**版本、门户和报告插件需要以下这些资源:

插件

Team Foundation Build

SharePoint 产品

SQL Server 2008 Analysis Services

SQL Server 2008 Reporting Services

生成

必需

Portal

必需

必需 推荐

只需要支持基本的仪表板

Reporting

必需 必需

问:在过程模板中是否有不能自定义的工件?

**答:**可以。 你不能通过过程模板文件来自定义 Microsoft Excel 报告和仪表板。 这些工件根据你在新团队项目向导中做的选择为团队项目而创建。要想了解详情,请参阅 Customizing Team Foundation Server Project Portals

问:ProcessTemplate.xml 插件文件如何使用?

**答:**用 ProcessTemplate.xml 插件文件来定义哪一个插件要包含在模板中。 该文件包含你希望运行以创建团队项目的所有任务组。 每个任务组引用一个下属 XML 插件文件,其中定义了该插件的特定任务。 请转到此处以获取详情。

问:我需要什么来了解依赖关系?

**答:**许多对象依赖于其他对象在过程模板的定义。

例如,为 Agile 过程模板定义的工作项查询用的就是 Classification.xml 文件中定义的迭代节点。 如果你更改了迭代节点定义,则你必须修改它们所依赖的工作项查询。 你可以通过在 .wiq 文件中搜索以下宏来查找这些查询:

  • Iteration 1 = @@Iteration%201@@

  • Iteration 2 = @@Iteration%202@@

  • Iteration 3 = @@Iteration%203@@

若要了解所需插件和插件依赖关系的概述,请参阅 在插件文件中定义任务组和任务的依赖项

问:是否有我需要知道的一些限制?

**答:**可以。 向过程模板添加对象时,你需要确保对它们的标注正确以避免 XML 验证错误。

查看下面的注意事项和建议:

  • 限制条件是针对大多数 Team Foundation 对象的名称和标签制定的。 若要了解应用于过程模块、安全组、区域和迭代节点、工作项类型以及工作项字段的命名限制条件概述,请参阅 Team Foundation 中的命名限制

  • 你自定义的大多数过程模板组件只会影响你用该过程模板所创建的团队项目。 为工作项类型而定义的全局列表、链接类型和工作项字段不需要遵循该规则。 这些对象是为团队项目集合而定义的。

  • 每个工作项字段都有一个相关联的唯一标识该字段的字段引用名称。 引用名称在指定后不能更改。

    此外,工作项字段也可以有一个指定的报告名称。 该报告名称必须在所有工作项类型(为工作项目集合而定义)中匹配。 如果不匹配,在上传该过程模板时会出现验证错误,或在数据仓库数据库中出现冲突。

    工作项字段名称、链接类型名称和全局列表局限于团队项目集合。 如果你对这些对象中的任何一个进行自定义,则更改会反映在集合中和工作项类型(包含工作项字段)中所定义的所有团队项目中。

    有关详细信息,请参阅工作项跟踪对象的命名约定

  • 过程模板最大为 2 GB。 在自定义过程模板时,请确保所做的更改没有将其大小增加到超过该值。

问:每个 XML 元素都有引用吗?

**答:**过程模板文件引用两个主要的架构定义。 插件文件基于过程模板的架构,工作项的类型定义是基于跟踪工作架构。

问:在哪里可以了解有关配置功能向导的详情?

**答:**请参见 更新升级的团队项目以访问新功能

问:如果我遇到更多问题,可向何处寻求帮助?

**答:**去微软论坛:Team Foundation Server – 过程模板