如何防止跨多个Build Agent的每个构建配置的并行构建

Lly*_*yle 18 teamcity continuous-integration

我在TeamCity中有许多构建配置,每个配置都为大型项目提供服务.在过去,如果构建被启动,Build Agent可能会忙碌20分钟!

为了提高吞吐量,我在同一台机器上安装了第二个Build Agent,这样如果构建运行由Build Agent 1启动并且它忙了20分钟而另一个项目的某个人进行了更改,那么构建代理2可以执行为其他项目构建,无需等待当前构建运行完成.

一切顺利,直到两次连续签入导致两个Build Agents并行运行单个构建配置的构建.由于某些资源是共享的,IIS目录和数据库,我不希望单个构建配置在两个Build Agent上并行运行.

如果当前正在针对不同构建代理程序的构建配置运行构建,我如何确保不会触发构建?

一种方式似乎涉及环境变量,并确保Build Agent在构建配置兼容性方面进行50/50分割,但这看起来有点笨拙.

KIR*_*KIR 27

您可以为构建配置" 限制同时运行的构建的数量 "(常规设置页面).

将其设置为1,以完成您的任务.

  • 使用 **Deployment** 构建配置类型似乎会自动将此限制设置为 1 - 这很有意义:-D (2认同)