部署和配置生成控制器

要使用 Team Foundation Build,您的团队至少必须有一个生成控制器,以执行轻量级任务,并将生成进程的处理器密集型工作分发至其生成代理池。

提示提示

如果您的团队项目集合位于 Team Foundation Service 上,您也可使用承载生成控制器,而不用部署您自己的生成系统。

单计算机系统(独立)

每个生成控制器专用于一个团队项目集合。生成控制器可执行轻型工作,例如确定生成的名称、在版本控制中创建标签、记录说明以及报告生成的状态。生成控制器使用 AgentScope 活动将处理器密集型工作(例如编译代码或运行测试)委托给其池中的生成代理。这些生成代理可承载于同一生成服务器上,或承载于可在另一生成服务器上。

由于生成控制器通常不需要大量的处理器时间,因此在许多情况下,可与您的 Team Foundation Server 一样,将其放入同一计算机上(如上所述),或一台低功率的物理计算机或虚拟计算机上。

但是,在某些情况下,生成控制器可能需要大量内存,因此您应根据需要提供足够的内存,以确保其正常工作。或者,根据团队的需求和资源,您可能希望在除 Team Foundation Server 以外的计算机上运行生成控制器。

两台生成服务器

需要的权限

您必须是生成服务器上 Windows 管理员组的成员,还必须是您团队项目集上项目集生成管理员组的成员。请参见 Team Foundation Server 权限

您希望做什么?

  • 创建或修改生成控制器

  • 启用您的生成进程,以利用附加二进制文件

  • 指定并发运行的生成的最大数目

  • 移除生成控制器

  • 使用 Team Foundation Service 上所承载团队项目集合中的承载生成控制器

创建或修改生成控制器

要从生成服务器创建或修改生成控制器

  1. 登录到生成服务器。

  2. 从 Windows“开始”菜单中运行**“Team Foundation 管理控制台”**。

  3. 在 Team Foundation 管理控制台的树窗格中,展开服务器的名称,然后选择**“生成配置”**节点。

    说明说明

    如果出现配置已安装功能“配置已安装的功能”的消息,请参见部署生成服务器

  4. 在**“生成配置”**页面:

    • 如果控制器未列出,请选择**“新建控制器”**。

    • 如果控制器已列出:

      生成控制器

      选择**“属性”**。

    此时将显示**“生成控制器属性”**对话框。

若要在 Visual Studio 中修改生成控制器

  1. 在 Visual Studio 中,在团队资源管理器中:

    1. 如果尚未连接到团队项目集合中的团队项目,则请 连接到团队项目

    2. 选择 “主页”图标“主页”,然后选择 “生成”图标“生成”

  2. 在“生成”页上,选择**“操作”,然后选择“管理生成控制器”**。

    此时将显示**“管理生成控制器”**对话框。

    “管理生成控制器”对话框

  3. 选择要修改的生成控制器,然后选择**“属性”**。

    此时将显示**“生成控制器属性”**对话框。

“生成控制器属性”对话框

在**“显示名称”“说明”**字段:输入名称和说明,帮助团队成员在定义其生成进程时可轻松识别正确的生成控制器。

有关如何配置生成控制器的详细信息,请参见下面的小节。

启用您的生成进程,以利用附加二进制文件

您可以通过利用以下方法更深入地自定义生成过程

  • 包含自定义工作流活动的程序集

  • 自定义 MSBuild 任务

  • 测试运行中的第三方单元测试框架。

要使生成进程可以利用这类代码,请选择您在**“自定义程序集的版本控制路径”**框中指定的文件夹(或其所有子文件夹)中的二进制文件。设置或修改此框中的值时, 生成服务器将自动重启以加载程序集。

提示提示

如果您的生成结果包含 TF215097 错误消息,则您的生成仅程可能包含不在此文件夹或其任何子代文件夹中的自定义操作。

有关如何将二进制文件签入到版本控制的指南,请参见利用您的代码不生成的第三方二进制文件

指定并发运行的生成的最大数目

在大多数情况下,应当将此值设置为**“默认为已启用的代理数”**。但是,在某些情况下,您可能希望控制生成队列的深度。例如:

  • 您发现即使许多生成在等待为其分配生成代理时暂停运行,也有过多生成显示**“正在运行”状态。这种情况可能使团队感到困惑。若要避免此问题发生,请选择“指定最大值”**,然后指定比生成控制器下放入池中的生成代理数目小的值。

  • 您可以设计一个自定义生成模板,以使生成能够一次使用多个生成代理,所使用的生成代理属于生成控制器下 12 个生成代理的池。此生成控制器处理的生成基于同时委托给三个生成代理的自定义生成模板。若要使生成队列数据更加有用,可以配置生成控制器,将**“并发运行的生成的最大数目”设置为“指定最大值”**,即值 4。

移除生成控制器

  1. 在 Visual Studio 中,如上文中修改 Visual Studio 的生成控制器所述,打开**“管理生成控制器”**对话框。

  2. 选择然后移除生成控制器下的每个生成代理,通过选择**“移除”执行,或通过选择“属性”然后使用“生成代理属性”**对话框将生成代理分配到另一个生成控制器。

  3. 选择要移除的生成控制器,然后选择**“移除”**。

说明说明

登录到生成服务器后,您还可以使用 Team Foundation 管理控制台移除生成控制器。但是如果您执行此操作,则仍可能需要使用 Visual Studio 或先登录到其他生成服务器上,以移除所有生成控制器共用的远程生成代理。

使用 Team Foundation Service 上所承载团队项目集合中的承载生成控制器

如果您的团队项目集合位于 Team Foundation Service,则可以不部署您自己的生成控制器,而使用承载生成控制器。要使用**“承载生成控制器”**,只需在定义生成进程时进行选择。

Team Foundation Service,托管生成控制器

承载生成控制器提供单个标准临时生成代理。

有关承载生成控制器功能的更多信息,请参见使用承载生成控制器

后续步骤

  • 部署和配置生成代理
    使用生成代理执行处理器密集生成工作。这包括从版本控制中获取文件、配置工作区、编译代码和运行测试。可以在一台生成服务器上承载一个或多个生成代理。

  • 设置删除文件夹
    您可以准备并指定一个或多个放置文件夹,以便您的生成系统可以将二进制文件、测试结果和日志文件传递到您的团队。

  • 扩展您的 Team Foundation Build 系统
    随着您团队的扩大和基本代码的增加,可以相对轻松地以增量方式扩展您的生成系统。

  • 管理生成系统
    在部署您的生成服务器后,可通过 Team Foundation 管理控制台对其进行管理。您可以从 Team Foundation 管理控制台或 Visual Studio 管理生成控制器和生成代理。

  • 定义生成过程
    生成系统就绪后,您即可定义生成过程,这一过程包括对有关要编译的代码项目、触发生成的操作、要运行的测试以及团队所需的任何其他过程的说明。