TeamCity:防止2个版本同时运行

Kei*_*ith 14 teamcity teamcity-7.1

我不希望Build Config A和Build Config B同时运行,因为它们共享同一个无法同时访问的资源.但是,每个配置都由一个单独的代理运行,因此它们可以同时运行.

相反,我希望一个配置在被触发时等待另一个配置,如果它正在运行.例如,如果Build Config B开始运行但Build Config A已经运行,那么B将等到A完成然后B将运行.

我不认为快照依赖项会起作用,因为假设一个配置依赖于另一个配置,这在我的情况下是不正确的.

小智 11

Keith,有两个可以帮助你的插件:第一个是Groovy插件.它具有在所有项目上创建名称锁定的功能.

第二个是TeamCity.SharedResources.它具有定义共享资源并使用读写锁定锁定它们的功能.但是,此插件中定义的资源是按项目定义的.我们正在积极开发此插件,欢迎您在我们的跟踪器中查看其页面


Orn*_*son 9

要快速而又脏,只需在项目的兼容代理选项卡上制定规则.他们必须在包含xxx的代理名称(无论是什么)上运行,然后这些构建只能在该代理上运行,并且永远不会同时运行.

  • 我想如果TeamCity只有一个针对构建配置的选项,即默认启用的"启用同时构建",那将是很好的.无法想象这将是一个难以编写的插件,如果我有时间,也许我会试一试 - 但是,在此期间这个解决方法是可以接受的:) (2认同)