Visual Studio Application Lifecycle Management 入门

本主题包含 Jason Zander 的博客上 2009 年 10 月的一篇文章的摘录(有更新),其中提供了有关 Visual Studio Team Foundation Server 的有说服力的价值主张以及实用的入门指南。 如果您已经熟悉 Team Foundation Server 并希望开始使用,本主题也提供了一些基于您在软件开发团队中的角色的适当主题的链接。

Zander 是 Visual Studio 的公司副总裁。 本主题中的屏幕快照已进行更新以反映产品的最终版本。

主题内容

  • 教程:Microsoft Visual Studio Team Foundation Server 2010 入门

  • 针对 Team Foundation Server 2010 的基于角色的任务

教程:Microsoft Visual Studio Team Foundation Server 2010 入门

new Basic configuration for Team Foundation Server(新的 Team Foundation Server 基本配置)为您提供了一种安装可支持源代码管理、工作项和生成的 Team Foundation Server 版本的简单方法。此系统非常适合用于迁移 Visual SourceSafe 资产并在此过程中选取新功能。我希望演练一下如何开始使用此系统。 

这篇文章对于以前未安装或使用过 Team Foundation Server 的用户有非常大的帮助。Team Foundation Server 可以支持包含报表、与 SharePoint 产品集成、跨多个域支持、分布式数据库等情况的复杂环境。我在这里不打算讨论上述任何内容。我的目标是帮助您理解“为什么使用 Team Foundation Server”以及如何开始使用此系统。 

首先,让我们谈谈“为什么使用 Team Foundation Server?”Team Foundation Server 的目标是创建一个包含一组工具的中央存储库,这些工具可让各个角色之间的协作变得真的很简单。您可以按照下面的方式尝试将多个不同的系统拼结在一起:

为什么选择 Team Foundation Server

在这种情况下,每个系统都有自己的存储、自己的资产标识集、自己的命令和工具。 拼接这些系统就像是在尝试安装一组自定义的立体声音响装置的组件:您可以完成它,但需要做大量工作,而且您会错过一些东西。

我宁愿拥有的是一个可以将这些项目集成在一起并允许我的默认工作流经过的系统:

更好的集成

此集成支持一些最常用的方案。 在一个典型的工作日,我将编辑源代码、生成产品、测试产品、记录 Bug 并修复 Bug,然后重复这些工作。 当使用一个集成存储库支持整个工作流时,所有项目均可以彼此相关。 举例来说,当我签入 Bug 修复时,我非常乐意看到一些缺陷已通过记录的变更集解决(请参见下面的示例)。

Team Foundation Server 的基本配置允许您精确地执行此操作,这相对于仅具有源代码管理是一个重大改进。Team Foundation Server 的完全版本然后添加了一些新功能,包括自动测试、虚拟实验室部署和体系结构验证(仅列举几项)。这将按如下方式扩展您的工作流:

扩展工作流

您可以决定在使用 Visual Studio 时添加这些新组件中的哪一个。

有很多种访问 Team Foundation Server 的方式。作为工程师,您最典型的访问点将会是一个 Visual Studio 版本。但如果您是测试人员,则可以使用新的测试管理器产品(没有必要安装 Visual Studio)。如果您是项目经理,还可以使用 Web 界面、Microsoft Excel、Microsoft Project 或 Microsoft Office SharePoint Server 2007 对仪表板的支持(Visual Studio 2010 的新功能)。后面会对此内容进行更多说明。 (有关更多信息,请参见针对 Team Foundation Server 2010 基于角色的任务 - 编者按)。

在这篇文章的其余部分,我将为您提供一些有关如何通过对您的第一个项目使用基本配置来开始使用 Team Foundation Server 的分步说明。

入门

现在您具有了一些概念知识,下面可以着手工作了。 您首先应执行 Brian Harry 的这篇 Team Foundation Server 文章中所列出的步骤。这将通过一个默认集合(假设称为“DefaultCollection”)在您的计算机上安装所有必需的软件。

此时,我们可以从 Visual Studio 连接到 Team Foundation Server 集合。完成此操作的最简单方法是使用“团队”菜单(还可以使用主页中的链接):

连接到 Team Foundation Server

将要求您找到 Team Foundation Server 所在的服务器。在本例中,我的 Windows 7 计算机称为“JLZW7”。使用“添加”按钮将该服务器添加到列表中,然后单击“关闭”:

添加服务器

此时,您可以从组合框中选择服务器,再选择“DefaultCollection”,然后单击“连接”:

单击“连接”

团队资源管理器选项卡现在将包含您的服务器连接和 DefaultCollection,但我们还没有一个 Team Foundation Server 项目来在其中存储任何内容:

团队资源管理器

对于本教程,我已经创建一个新的 Windows 窗体项目充当示例解决方案(“文件”->“新建项目”->“Windows 窗体”)。 如果您尝试将此新代码项目添加到源代码管理中,则会出现错误。 例如:

添加新的 Windows 窗体项目

在您选择“将解决方案添加到源代码管理”菜单项之后,将出现错误“没有团队项目源代码管理文件夹可用。”:

没有团队项目的源代码管理文件夹错误

此错误不是那么直观(尤其是考虑到 Word 项目既可用于 Team Foundation Server,也可用于 Visual Studio 代码解决方案中,而这两种用法完全不同)。此错误表示您必须创建一个实际的 Team Foundation Server 项目来包含您的工作的所有资产。在团队资源管理器中,右键单击您的集合,然后选择“新建团队项目”:

创建团队项目

在本例中,我将为一个应付帐款系统创建一个 Team Foundation Server 项目。此项目将包含整个系统所需的所有解决方案、数据等。输入数据后,单击“下一步”:

命名团队项目

默认为 Agile 模板,但也可以选择 CMMI。 您可以在 MSDN 上找到关于项目模板类型的更多详细信息。 如果您正在使用任何敏捷方法(如 TDD),则这是一个不错的选择。 选择之后,单击“完成”即可:

选择过程模板

在创建项目的过程中,您将获得各种状态更新:

团队项目创建的状态更新

成功后单击“关闭”按钮:

成功创建团队项目

团队资源管理器现在将让项目准备好保留工作项、生成和源代码管理:

新项目显示在团队资源管理器中

此时,您可以更新项目集合了。 让我们再次将新解决方案添加到 Team Foundation Server。在“解决方案资源管理器”中右击项目,然后选择“将解决方案添加到源代码管理”:

将解决方案添加到源代码管理中

此时,您应该在 Team Foundation Server 中为解决方案创建一个新文件夹,或直接使用默认设置。在您满意之后,单击“确定”按钮:

将解决方案存储在 Team Foundation Server 上

成功之后,解决方案资源管理器现在将显示,文件处于源代码管理之中(文件前面会显示“+”符号):

包含新添加的解决方案的解决方案资源管理器

您还会看到用来发布解决方案的源代码管理操作的列表。 添加注释,然后单击“签入”:

将解决方案签入源代码管理中

单击“是”以确认签入。

确认签入

此时,您的新解决方案已在 Team Foundation Server 中,并已为工作项做好准备。

工作项

您可以使用团队资源管理器在 Visual Studio 内部直接创建工作项,或者通过 Web 前端和测试管理器工具来创建工作项。若要查看工作项,可打开团队资源管理器,依次展开“工作项”、“团队查询”和“迭代 1”。然后可以双击任意查询(如“活动 Bug”)来查看可供您使用的任何项:

创建工作项

我们的 Team Foundation Server 项目是空的,因此,列表中没有任何活动 Bug:

没有活动 Bug 的团队项目

让我们创建一个新项来开始工作。 选择“团队”->“新建工作项”菜单。 您可以在此处创建若干工作项类型,以用于跟踪功能、缺陷等。 我们将选择“Bug”来进行操作:

新建工作项菜单

输入您希望用于新 Bug 的任何数据,然后单击“保存工作项”以将其提交到数据库:

创建 Bug 工作项

如果现在刷新活动 Bug 查询列表,您将会看到这个新 Bug:

刷新查询以查看新 Bug

让我们添加一个真正的 Bug 来修复项目。 在我的示例中,我刚才创建了一个默认的 Windows 窗体应用程序。 我们将需要更新标题:

新项目中的第二个 Bug

现在,我们需要修复这个 Bug。 导航回到解决方案资源管理器,选择“Form1.cs”,然后选择“签出以进行编辑”:

将文件从源代码管理中签出

单击“签出”按钮以进行确认:

确认签出

现在,该文件旁边将会有一个复选标记,因此,您会知道该文件已打开以供编辑:

文件已从源代码管理中签出

当您更新主窗口的 Text 属性时,Visual Studio 将自动签出任何相关文件:

Visual Studio 签出附加文件

这是一个 Windows 窗体应用程序,但它适用于所有解决方案/项目类型。 既然我们对代码更改很满意,那么选择 Visual Studio 底部的“挂起更改”选项卡:

选择挂起的更改

在本例中,我们正在修复一个 Bug,因此,单击“工作项”图标按钮:

选择工作项按钮

选择“Bug #2”以用于跟踪标题错误。 我们将利用此签入来解决它:

将 Bug 与签入相关联

添加您所需的任何注释,单击“签入”,然后单击“是”以进行确认:

添加要签入的注释

确认签入

如果刷新 Bug #2,则您现在会看到状态已更改为“已解决”,而且历史记录也已更新:

已自动解决关联的 Bug

请注意,变更集(源代码管理变更的集合)已自动包含在历史记录中。

更改集已添加到历史记录中

此时,可以根据发布您的解决方案的需要继续创建和修复 Bug。

浏览 Team Foundation Server 的其他方式

我曾经提到过,不必使用 Visual Studio 本身即可访问 Team Foundation Server 存储库。我们已与其他客户端(如 Web 和 Microsoft Office)进行了大量深入的集成。例如,我只需打开我的 Web 浏览器,然后就可以使用服务器名称直接转到我的服务器(其中 8080 是默认端口):http:// jlzw7:8080/tfs/

浏览到 Team Web Access

此时,我就可以浏览我的集合和项目了。 如果您选择刚刚创建的新 AccountsPayable 项目,则单击“继续”按钮将会获得更多详细信息。 在本例中,通过导航到“工作项”选项卡,我可以在系统中查找 Bug,包含我们新解决的 Bug:

Team Web Access 中的团队项目

这确实是一种无需进行任何安装即可从任何计算机中浏览您的项目的简便方法。 对于使用 Microsoft Excel、Microsoft Project 等存在类似支持。 这种访问使所有操作您的项目的用户(工程师和项目经理)在一起工作变得很简单。

此时,您有一个非常有用的、可以用来完成您的工作的资产集。 对于现在正在使用 Visual SourceSafe 的您而言,您可能非常满意此支持级别。您现在可以记下这个教程,以后需要尝试某些高级功能时,例如,我在此教程中使用 beta 1 演示的测试方案,再回来看看这个教程。

生成支持

您的工作流的下一个典型部分是自动进行产品生成。 假定您已按照 Brian 的安装说明操作,那么现在您的计算机上已经通过 Team Foundation Server 拥有了本地生成支持功能。第一步是导航到团队资源管理器,右击“生成定义”,然后选择“新建生成定义”:

创建新的生成定义

这将为我们提供一组要填充的定义,就像代码项目属性页一样:

生成定义页

触发器页可让我们决定开始生成的时间。 您有许多选项可以选取:

  • 默认选项是“手动”,这也是我们将使用的选项。 我们必须使用此选项开始我们自己的生成。

  • 如果您希望在每次签入后进行新的生成,则持续集成很有帮助。 这使您能够立即验证新更改,而不是等到很多签入混杂在一起时再进行验证。

  • 滚动生成为您提供了一种对更改进行批处理的方法,在生成需要一段时间而您又没有时间逐个处理每个生成的情况下,这种方法非常方便。

  • 封闭签入使您能够确保将所有签入提交到 Team Foundation Server。这将确保您决不会让您的团队其他成员遇到生成中断的情况。

  • 计划的生成对于获取整个团队用作试验的每日生成非常有用。

您可以创建并使用许多不同的生成定义,从而让您出于不同目的采用不同的生成类型。

您有空时可以浏览所有选项卡(产品中对每个选项卡提供了详细的说明)。 但我们需要通过为生成提供一个用于存储新生成的位置来解决关于“生成默认值”的黄色警告符号。在本例中,提供的存储位置是我在计算机上创建一个公共 UNC:

向生成默认值中添加 UNC 路径

现在,您可以将生成定义保存到 Team Foundation Server。如果我们返回到团队资源管理器,则可以将项目的生成进行排队:

将新生成排入队列

我们将会看到一个确认对话框,我们可以在其中只选择“队列”按钮:

将生成提示排入队列

这样就会在我的计算机上将一个生成进行排队,如状态页所示:

生成已添加到队列中

如果双击已排队的生成,则将获得该生成的详细状态:

已排队生成的详细状态

您可以在此处查看警告和错误、查看日志文件以及导航到放置位置等。 作为示例,如果选择“查看日志文件”链接,则可以查看已执行的生成脚本(子集):

从日志文件生成脚本

如果您选择“打开放置文件夹”链接,则会转到我们的放置位置:

生成放置位置

现在,任何人都可以选取生成,执行日常测试以及发布给客户等操作。

此时,您真正拥有了充分利用 Team Foundation Server 的基本功能所需的一切。 

针对 Team Foundation Server 2010 的基于角色的任务

当团队开始使用 Visual Studio Application Lifecycle Management (ALM) 时,管理员将设置服务器,项目经理将创建团队项目,而其他团队成员将设置各自的工作环境。 本主题其余部分的链接将基于以下软件开发角色,指导您完成开始操作 Team Foundation Server 的各个任务:

  • Team Foundation Server 管理员

  • 项目经理

  • 源代码管理和生成经理

  • 各个团队成员

Team Foundation 管理员的任务

  1. 如果您已按照本主题中前面的教程操作,则已使用基本配置安装了 Team Foundation Server。 但是,您可能需要执行不同的安装任务,包括升级以前安装的 Team Foundation Server,或者执行 Team Foundation Server 或其某个系统必备组件的自定义安装。

    有关更多信息,请参见 Microsoft 网站上的此主题:Installation Guide for Team Foundation(Team Foundation 安装指南)。

  2. 如果您已按照本主题中前面的教程操作,则在安装 Team Foundation Server 期间已自动授予您创建项目所需的所有权限。 您可能需要授予其他用户充当管理员、项目管理员和其他角色所需的权限。

    有关更多信息,请参见配置用户、组和权限

  3. 创建一个维护计划,帮助确保在出现硬件故障或其他事件的情况下备份您的数据。 有关更多信息,请参见备份和还原部署

  4. 如果您的任何团队将使用 Visual Studio 实验室管理工具版,则应安装 Microsoft System Center Virtual Machine Manager,然后配置实验室管理工具版,并创建您的虚拟环境。

    有关更多信息,请参见首次配置 Lab Management

  5. 如果您的任何团队将部署生成并远程运行测试,则应在物理计算机或虚拟计算机上安装测试控制器和测试代理。

    有关更多信息,请参见设置测试计算机以运行测试或收集数据

  6. 如果您已按照本主题中前面的教程操作,则已使用基本配置安装了 Team Foundation Build。 但是,您可能需要执行某些管理任务,才能获得所需的生成环境。

    有关更多信息,请参见管理 Team Foundation Build

  7. 根据您的操作需求的变化,检查相关选项以便更改或修改您的部署。 有关更多信息,请参见管理服务器配置

项目经理的任务

  1. 安装您要使用的一个或多个 Team Foundation 客户端。

    有关更多信息,请参见安装 Visual Studio

  2. 确定项目资源要求和您将在其中创建团队项目的项目集合。

    有关更多信息,请参见有关启动团队项目的快速入门指南

  3. 选择过程模板。

    有关更多信息,请参见选择过程模板

  4. 在团队资源管理器中创建团队项目。

    有关更多信息,请参见创建团队项目

  5. (可选)为您的团队项目定义产品区域和里程碑。

    有关更多信息,请参见创建和修改区域和迭代

  6. 向团队成员授予在团队项目中工作所需的权限。

    有关更多信息,请参见向团队项目中添加用户

  7. (可选)向特定团队成员授予附加权限。

    对于负责在 Team Foundation 版本控制下管理源代码、管理生成、管理测试和用于测试的实验室环境以及负责其他项目级活动的团队成员,您或其他管理员可能需要向这些成员提供附加权限。 可以向各个团队成员或组分配特定权限。

    有关更多信息,请参见 Team Foundation Server 权限中的以下各节:

    • 生成级别的权限

    • 项目级别的权限

    • 用于工作项跟踪的区域和迭代级别权限

    • 版本控制权限

    • 实验室管理权限

  8. (可选)向报告作者授予附加权限。

    若要创建或修改访问在数据仓库中存储的数据的报表,团队成员必须拥有对构成数据仓库的数据库的读取权限。 有关更多信息,请参见授予对 Visual Studio ALM 数据仓库的数据库的访问权限

  9. 向团队成员通知团队项目资源和注册活动。

    有关更多信息,请参见将团队项目资源告知团队成员

  10. 对产品进行计划。

    如果团队项目基于 MSF for Agile Software Development 5.0 版的过程模板,则可以使用“产品计划”工作簿来创建产品积压工作。 可使用“产品计划”工作簿管理用户情景的积压工作,并在多个迭代(也称为“冲刺 (sprint)”)间平衡工作负荷。 有关更多信息,请参见“产品计划”工作簿

    如果团队项目基于 MSF for CMMI Process Improvement 5.0 版的过程模板,则可以使用“产品要求”团队查询开始对产品进行计划。 可在 Office Excel 中打开此查询,添加要求,然后将其发布到 Team Foundation。 也可以使用 Office Project 计划和安排项目。 有关更多信息,请参见下列主题:

版本控制和生成经理的任务

  1. 配置版本控制。

    有关更多信息,请参见管理 Team Foundation 版本控制

  2. 如果使用的是 Team Foundation Build,则为每个团队项目创建生成定义。

    有关更多信息,请参见 生成应用程序

各团队成员的任务

  1. 安装要使用的一个或多个 Team Foundation 客户端。

    有关更多信息,请参见安装 Visual Studio

  2. 设置版本控制工作区。

    有关更多信息,请参见创建工作区以使用团队项目将文件置于版本控制下

  3. 让自己熟悉创建、修改和查找任务以及其他工作项。

    有关更多信息,请参见跟踪工作入门

请参见

概念

Visual Studio Application Lifecycle Management