TeamCity On-Premises 2025.07 Help

将构建配置分配给特定构建代理

有时有必要更有效地管理 build agents的工作负载。 例如,如果运行耗时的性能测试,硬件资源较低的 构建代理 可能会减慢速度。 因此,将会有更多的构建进入 构建队列 ,反馈环可能比预期的要长。 为了避免这种情况,您可以:

  1. 建立运行配置策略 ,为代理定义在此代理上运行的构建配置。

  2. 定义特殊的 Agent Requirements ,以限制可以运行构建配置的 agents 池。 这些要求是:

    • 构建代理名称。 如果构建代理的名称被设为必选项,那么构建配置将仅在该代理上运行构建。

    • 构建代理 属性。 如果某个属性,例如,运行某个特定配置的构建或操作系统的能力,被设定为需求,那么构建配置将在满足此需求的代理上运行构建。

代理池

您可以将代理分割到池中。 每个项目都可以与多个池关联。 请查看 代理池s

建立运行配置策略

要设置 构建代理 的运行配置策略:

  1. 点击 支持人员 并选择所需的构建代理。

  2. 点击 兼容配置 选项卡。

  3. 当前运行配置策略 选项设置为 仅运行分配的配置

  4. 点击 分配配置 按钮,并勾选要在构建代理上运行的所需构建配置名称。

将构建代理名称和属性设置为构建配置需求

为了让构建配置在具有指定名称和属性的构建代理上运行构建:

  1. 点击 管理 并选择所需的构建配置。

  2. 在左侧导航面板中选择 Agent Requirements(代理要求) 选项卡(请参阅 配置代理要求)。

  3. 点击 添加新的需求 并在 形参名称 字段中输入“teamcity.agent.name”。

  4. 将条件更改为“equals”,并在 价值 字段中输入完整的代理名称。

以下的 Kotlin 代码段揭示了结果:

object Build : BuildType({ name = "Build" steps { // build steps } // ... requirements { equals("teamcity.agent.name", "SandboxBuilder14") } })

根据您的需求,您可以按照以下方式修改此要求:

  • 条件 从“equals”更改为非严格运算符(例如,“contains”),以包含多个名称相似的代理。 例如, startsWith("teamcity.agent.name", "NightlyAgent") 条件允许构建在 "NightlyAgent1","NightlyAgent_24","NightlyAgent.A" 和其他满足要求的构建代理上运行。

  • 使用 teamcity.agent.jvm.os.name 参数,通过他们的操作系统而不是名称来选择代理。 例如, equals("teamcity.agent.jvm.os.name", "Mac OS X")

最后修改日期: 2025年 9月 3日