将TeamCity构建配置配置为仅在链中多次成功构建后才触发

时间:2019-03-20 15:29:31

标签: teamcity

我们当前正在运行TeamCity Enterprise 2017.1.5 (build 47175),并正在尝试为构建建立以下步骤:

  • 在初始启动时,运行构建配置Step 1
  • 如果Step 1成功,则同时启动构建配置2A2B2C
  • 如果所有步骤(2A2B2C)成功,请启动构建配置Step 3

从本质上讲,我们正在尝试通过允许多个构建配置彼此并行运行来加快总体构建时间。只要2成功,所有Step 1的配置都可以独立运行,因此我们将它们全部设置为在Step 1成功构建后触发。

但是,Step 3本质上是部署构建配置。只有在所有先前的配置(Step12A2B2C)成功的情况下,该选项才可以运行。

是否可以在TeamCity中设置构建配置,以便我们可以完成上面概述的Step 3的设置?我在下面做了一张小图来说明我们的愿望。

Build Flow

2 个答案:

答案 0 :(得分:1)

只需使用Dependencies

1)提取step 3step 1作为其他构建配置。 (例如,假设build 3build 1

2)打开2A2B2C的构建配置设置,转到依赖关系

快照依赖项添加到build 1 enter image description here

使用参数将工件依赖性添加到build 1 从同一链构建(这很重要!!)


打开build 3的构建配置设置
将3 快照依赖项添加到2A2B2C,作为上一步。
将3个工件依赖项添加到2A2B2C,其参数与上一步一样从同一链构建

最后,您将获得结果。仅当某些配置已更改时,TC才会重建,否则将重复使用现有的配置。

查看我的配置依赖项

部署所有配置,重新部署Cassandra DB和2个内部版本。

Deploy 1Deploy 2需要Cassandra结果和构建中的工件。因此,两个部署都需要Cassandra,但分别需要构建。 enter image description here

答案 1 :(得分:-1)

这应该是Team City中一个单独的构建步骤,Team City一次只能为构建或跑步者运行一个构建步骤。此2a,2b和2c应分别分为步骤2、3和4。 Team City不需要在跑步者内平行建设