15

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

相反,我希望一个构建配置在触发时等待另一个构建配置(如果它正在运行)完成。例如,如果 Build Config B 开始运行但 Build Config A 已经在运行,则 B 将等到 A 完成,然后 B 将运行。

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

4

3 回答 3

12

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

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

于 2013-01-24T10:01:55.790 回答
10

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

于 2013-01-24T22:57:14.503 回答
3

在最新版本的 TeamCity 中,您可以配置此参数。转到编辑配置设置 -> 编辑配置设置并设置参数:

限制同时运行的构建数量(0 - 无限制)

于 2019-06-02T08:16:03.730 回答