如何在TeamCity中设置构建代理优先级?

4

我有两个代理可以构建我的配置。我设置了两个,因为有时需要同时进行两个构建。

我如何设置构建代理的优先级,以便在两个代理都空闲可用时强制TeamCity选择特定的代理?

现在它会随机选择代理或通过某些未知因素选择代理...

3个回答

4

您可以过滤使用哪些代理,但我不确定您是否可以指定使用哪个空闲代理。

如果您担心TeamCity会使用最快的代理,则应该自动执行此操作。

Teamcity文档中如下所述:

当有多个空闲代理可以运行排队构建时,TeamCity尝试按以下方式选择最快的代理:

  1. 如果先前没有在代理上运行任何构建,则使用CPU等级来选择代理。

  2. 如果之前已经在代理上运行过构建,则使用给定构建配置的预计构建持续时间来选择代理。该估计是基于构建配置历史记录中最新构建的启发式算法进行的;在估算时,较近期的构建执行时间比早期的构建执行时间具有更大的权重。不考虑个人和取消的构建,也不考虑持续时间与此构建配置的其余构建显著不同的任何单个构建。


2
现在可以通过插件来配置代理优先级。 请享受;)

希望能够有“随机”或“轮流”优先级类型...因为据我所知,在当前版本中不可能有这样的行为 :( - Funbit
我已经为这个问题创建了一个issue,会尽力找时间来实现它。 - grundic

1
您可以使用代理参数来指定它使用构建代理。
例如,您可以指定构建代理名称(使用“system.agent.name”),或者声明您只想使用具有TeamCity CPU基准测试的构建代理(例如400),使用:system.teamcity.agent.cpuBenchmark大于400。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接