我不希望Build Config A和Build Config B同时运行,因为它们共享同一个无法同时访问的资源。但是,每个配置都由一个单独的代理运行,因此它们可以同时运行。
相反,我希望一个配置在被触发时等待另一个配置,如果它正在运行。例如,如果Build Config B开始运行但Build Config A已经运行,那么B将等到A完成然后B将运行。
我认为快照依赖关系不起作用,因为假设一个配置依赖另一个配置,这在我的情况下是不正确的。
答案 0 :(得分:10)
Keith,有两个插件可以帮助你: 第一个是Groovy plugin。它具有在所有项目上创建名称锁定的功能。
第二个是TeamCity.SharedResources。它具有定义共享资源并使用读写锁定锁定它们的功能。但是,此插件中定义的资源是按项目定义的。我们正在积极开发此插件,欢迎您在our tracker
中观看其页面答案 1 :(得分:9)
对于快速和脏,只需在项目的兼容代理选项卡上制定规则。他们必须在包含xxx的代理名称(无论是什么)上运行,然后这些构建只能在该代理上运行,并且永远不会同时运行。
答案 2 :(得分:1)
在TeamCity的最新版本中,您可以配置此参数。转到“编辑配置设置”->“编辑配置设置”并设置参数:
限制同时运行的内部版本数(0-无限)