部署和配置生成控制器

要使用 Team Foundation Build,你的团队至少必须有一个生成控制器,以执行轻型任务并将生成过程中占用大量处理器时间的工作分发到生成控制器的生成代理池。

单计算机系统(独立)

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

由于生成控制器通常不需要占用大量处理器时间,在很多情况下,可将其承载于 Team Foundation Server 所在的同一计算机上(如上所述)或低功率的物理计算机或虚拟计算机上。

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

两台生成服务器

所需权限

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

你希望做什么?

  • 创建或修改生成控制器

  • 使生成过程能够利用补充的二进制文件

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

  • 移除生成控制器

  • 将生成控制器用于承载于 Visual Studio Online 上的团队项目集合

创建或修改生成控制器

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

  1. 登录到生成服务器

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

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

    备注

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

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

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

    • 如果控制器已列出:

      生成控制器

      请选择**“属性”**。

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

在 Visual Studio 中修改生成控制器

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

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

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

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

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

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

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

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

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

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

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

使生成过程能够利用补充的二进制文件

你可以使生成过程能够利用你上载到 Team Foundation Server 的二进制文件,例如:

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

提示

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

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

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

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

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

移除生成控制器

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

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

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

备注

登录到生成服务器后,你还可以使用 Team Foundation 管理控制台移除生成控制器。但如果这样做,你可能仍需要使用 Visual Studio 或先登录到其他生成服务器,以移除由生成控制器汇集的所有远程生成代理。

将生成控制器用于承载于 Visual Studio Online 上的团队项目集合

使用托管生成控制器:如果你的团队项目集合承载于 Visual Studio Online 上,你可能可以跳过部署你自己的生成控制器,并改用托管生成控制器。 若要使用“托管生成控制器”,只需在定义生成过程时选择它即可。 请参阅使用托管生成控制器

**使用本地生成控制器:**如果生成过程需要托管生成控制器功能外部的资源,则你可以将本地生成控制器连接到托管团队项目集合。

Team Foundation Service,本地生成服务器

后续步骤

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

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

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

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

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