有什么方法可以将 TeamCity 代理设置为 运行 循环调度吗?

Is there any way to set up TeamCity agents to run on a round robin schedule?

我们正在使用 TeamCity 构建多个项目。除了 运行 在 Linux 上的主服务器上的一个代理之外,我们还有另外三个 运行 在不同盒子上的代理。一个在 Linux,一个在 Mac,一个在 Windows.

如果所有代理都处于空闲状态,则会选择列出的第一个可用代理进行构建。这意味着如果 TeamCity 上的负载很小,则始终使用相同的代理。我们遇到过这样的情况,一个项目由同一个 Linux 代理成功构建了 50 多次,然后当它最终在 Windows 代理上有一个 运行 时,测试失败了,由于在 50 个构建中 运行 的早期提交了代码。

由于我们的许多测试可能会受到环境的影响,因此我们正在寻找在代理上自动传播构建的方法。有什么方法可以设置循环代理选择策略吗?或者任何其他方式在代理上传播构建?

您可以有一个计划触发器,运行在所有代理上构建。 或者为每个平台(linux、windows、mac、...)配置构建,将 运行 在特定代理上,根据一些特定要求选择。

至少对于 TeamCity 8 及更早版本,我的问题的答案是否定的。

查看 JetBrains 自己的 TeamCity 开发者论坛:https://devnet.jetbrains.com/message/5533629