将构建配置分配给特定构建代理
有时候,有必要更有效地管理 构建代理 的工作量。 例如,如果运行耗时的性能测试,硬件资源较低的 构建代理 可能会减慢速度。 因此,将会有更多的构建进入 构建队列,反馈环可能比预期的要长。 为了避免这种情况,您可以:
建立运行配置策略,为代理定义在此代理上运行的构建配置。
定义特殊的 Agent Requirements,以限制可以运行构建配置的 agents 池。 这些要求是:
tip
在设置项目或构建配置时,或者任何您需要的时候,您可以修改这些参数。 您对构建配置所做的更改将即时应用。
您可以指定特定的构建代理来运行构建,当触发自定义构建时。
您可以将代理分割到池中。 每个项目都可以与多个池关联。 请查看 代理池s。
要设置 构建代理 的运行配置策略:
点击 Agents 并选择所需的构建代理。
点击 兼容配置 标签页。
将 当前运行配置策略 选项设置为 仅运行指定的配置。
点击 分配配置 按钮,并勾选您所需的构建配置名称以在构建代理上运行。
为了让构建配置在具有指定名称和属性的构建代理上运行构建:
点击 Administration 并选择期望的构建配置。
在左侧导航面板中选择 代理要求 标签(参见 配置代理要求)。
点击 添加新需求 并在 参数名称 字段中输入 "teamcity.agent.name"。
将条件更改为 "等于",并在 值 字段中输入完整的代理名称。
以下的 Kotlin 代码段揭示了结果:
object Build : BuildType({
name = "Build"
steps {
// build steps
}
// ...
requirements {
equals("teamcity.agent.name", "SandboxBuilder14")
}
})
根据您的需求,您可以按照以下方式修改此要求:
将 Condition 从 "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")
。
感谢您的反馈!