Team Foundation Build 概述
更新:2007 年 11 月
Team Foundation Build 提供了公共生成实验室的功能,而且还是 Team Foundation 的一部分。使用 Team Foundation Build,企业生成管理人员可以同步源代码、编译应用程序、运行关联的单元测试、执行代码分析、在文件服务器上发布生成,以及发布生成报告。生成结果数据将传播到仓库以生成历史记录报告。Team Foundation Build 在生成过程中会使用其他 Visual Studio Team System 工具,其中包括版本控制、工作项跟踪以及测试工具等。有关更多信息,请参见 Team Foundation 版本控制。
Team Foundation Build:
**生成类型 **提供一个界面,使用户可以定义生成所需的生成步骤和生成参数。可将生成定义为按需生成、滚动生成或连续集成(此时,每次签入都会导致根据其优先级对生成进行排队)。
**生成队列 **为请求的生成提供队列。每个生成都有关联的优先级,生成是根据该优先级以及在队列中的日期/时间位置来生成的。
生成执行 利用生成定义来生成产品及产生生成输出。此过程将运行所有生成步骤,其中包括执行测试代码、更新工作项以及计算生成度量数据等。
生成报告 提供一种查看生成的执行情况的途径。该报告列出了总体生成状态,其中包括详细的生成步骤、已解决的工作项、代码更改以及测试执行的摘要等。可以从生成资源管理器中查看生成报告。有关更多信息,请参见了解 Team Foundation Build 资源管理器和使用 Team Foundation 生成报告。
Team Foundation Build 还为公共生成和私有(或桌面)生成提供上述功能。
若要开始使用 Team Foundation Build,请参见演练:在 Team Foundation Build 中创建生成定义。
Team System Team Build 的结构概述
Team Foundation Build 设计为以分布式方式与 Team Foundation 一起使用,如下表中的插图所示。Team Foundation Build 包括下列组件:
Team System Team Build 组件 |
层 |
说明 |
---|---|---|
Team Foundation Build 定义创建和生成报告 |
团队资源管理器 |
可以使用生成资源管理器查看团队资源管理器中的生成报告和生成进度信息。有关更多信息,请参见 了解 Team Foundation Build 资源管理器。 使用“生成定义”对话框可创建新的生成定义。有关更多信息,请参见如何:创建生成定义。 |
源代码管理 |
Team Foundation 应用层 数据层 |
存储所有源代码的 Team Foundation 版本控制服务器。 |
Team Foundation Build Web 服务 |
Team Foundation 应用层 |
在应用层上运行的 Web 服务,接受来自客户端的请求并协调生成步骤的执行。 |
生成服务 |
独立的生成计算机 |
在一个或多个生成代理上运行的服务,根据 Team Build Web 服务中的说明运行生成步骤。 |
Team Foundation Build 存储区 |
Team Foundation 数据层 |
用于保存与 Team Foundation Build 生成过程相关的记录的 SQL 数据库存储区。 |
与团队资源管理器和团队项目的交互
Team Foundation Build 可以与团队资源管理器进行无缝交互。Team Foundation Build 将生成定义关联为团队项目的一部分,这些生成定义列在团队资源管理器中的“生成”文件夹中。使用团队资源管理器调用可以对生成进行排队和新建生成定义等操作。在每个团队项目的“生成”节点下是团队项目中定义的各种生成定义。
拓扑
下面是可以与 Team Foundation Build 一起使用的可能的部署拓扑:
服务器、数据层和生成代理在单个系统上。
服务器和数据层在一个系统上,生成代理在另一个系统上。
服务器在一台计算机上,数据层在第二台计算机上,生成代理在第三台计算机上。
服务器和数据层在一台计算机上,生成代理在第二台计算机上,另外专门指定第三台生成计算机用于敏感项目。
服务器和数据层在一台计算机上,生成代理在第二台计算机上,第三个生成代理用于滚动或连续的集成生成。
服务器和数据层在一台计算机上,生成代理在客户端上。
服务器和数据层在一台计算机上,使用生成代理场。
服务器和数据层在一台计算机上,生成代理在第二台计算机上,还有一台负载或远程测试计算机。
重要说明: 请不要使用 Team Foundation Server 服务帐户来运行 Visual Studio Team Foundation Build 服务帐户。
安全性
可在对 Team Foundation Server 应用层具有访问权限的任意计算机上安装生成代理。可以对生成过程进行自定义,以便运行任何用户提供的代码,只有具有更大的权限才能在生成代理上运行这些代码。因此,用户代码可以执行在开发计算机上不能运行的某些操作。同样,作为生成的一部分的某些部署步骤可能需要管理权限。因此,如果 Visual StudioTeam Foundation Build 服务帐户是生成计算机上本地管理员组的一部分,则运行任何用户代码都将因此具有管理权限。如果 Team Foundation Build 安装在应用层上,则用户可能面临安全风险。同样,在数据层上,本地管理员可以更改数据库并可能执行不安全的操作。
使用 Team Foundation Build 配置拓扑时,请考虑以下几点:
安全风险是由于在应用层或数据层上安装 Team Foundation Build 而引入的。
运行来自不可信源的用户代码可能危及计算机上的信息。