将 TeamCity 构建配置配置为仅在链中多次成功构建后触发
Configure TeamCity Build Configuration to Trigger Only After Multiple Successful Builds in Chain
我们目前 运行 宁 TeamCity Enterprise 2017.1.5 (build 47175)
并正在尝试为我们的构建设置以下一组步骤:
- 在初始启动时,运行 构建配置
Step 1
- 如果
Step 1
成功,同时启动构建配置 2A
、2B
和 2C
- 如果所有步骤(
2A
、2B
和2C
)成功,开始构建配置Step 3
本质上,我们试图通过允许多个构建配置相互并行 运行 来加快整体构建时间。只要 Step 1
成功,2
配置都可以独立 运行,所以我们将它们全部设置为在 Step 1
成功构建后触发。
但是,Step 3
本质上是一个部署构建配置。如果所有先前的配置(Step1
、2A
、2B
、2C
)都成功,那应该只有 运行。
有没有办法在 TeamCity 中设置构建配置,以便我们可以实现上述 Step 3
的设置?我在下面做了一个小图来说明我们的愿望。
这应该是 Team city 中的一个单独的构建步骤,team city 一次可以 运行 一个构建步骤或 运行ner。这个 2a、2b 和 2c 应该分别分成步骤 2、3 和 4。
Team city 不会在 运行ner
内并行建设
只需使用Dependencies。
1) 提取 step 3
和 step 1
作为其他构建配置。 (例如,假设 build 3
和 build 1
)
2) 打开 2A
、2B
、2C
的构建配置设置,转到 Dependencies。
将快照依赖项添加到build 1
使用参数将 Artifact Dependency 添加到 build 1
从同一条链构建(这点很重要!!!)
打开 build 3
的构建配置设置
将3个Snapshot Dependency添加到2A
、2B
、2C
作为上一步。
将 3 Artifact Dependency 添加到 2A
、2B
、2C
,参数为 Build from the same chain上一步
最终,你会得到结果。只有当某些配置发生变化时,TC 才会重建,否则重新使用现有的。
查看我的配置依赖项
部署所有配置重新部署 Cassandra 数据库并重新部署 2 个构建。
Deploy 1
和 Deploy 2
需要来自构建的 Cassandra 结果和工件。因此,这两个 Deploys 都需要 Cassandra,但分别需要构建。
我们目前 运行 宁 TeamCity Enterprise 2017.1.5 (build 47175)
并正在尝试为我们的构建设置以下一组步骤:
- 在初始启动时,运行 构建配置
Step 1
- 如果
Step 1
成功,同时启动构建配置2A
、2B
和2C
- 如果所有步骤(
2A
、2B
和2C
)成功,开始构建配置Step 3
本质上,我们试图通过允许多个构建配置相互并行 运行 来加快整体构建时间。只要 Step 1
成功,2
配置都可以独立 运行,所以我们将它们全部设置为在 Step 1
成功构建后触发。
但是,Step 3
本质上是一个部署构建配置。如果所有先前的配置(Step1
、2A
、2B
、2C
)都成功,那应该只有 运行。
有没有办法在 TeamCity 中设置构建配置,以便我们可以实现上述 Step 3
的设置?我在下面做了一个小图来说明我们的愿望。
这应该是 Team city 中的一个单独的构建步骤,team city 一次可以 运行 一个构建步骤或 运行ner。这个 2a、2b 和 2c 应该分别分成步骤 2、3 和 4。 Team city 不会在 运行ner
内并行建设只需使用Dependencies。
1) 提取 step 3
和 step 1
作为其他构建配置。 (例如,假设 build 3
和 build 1
)
2) 打开 2A
、2B
、2C
的构建配置设置,转到 Dependencies。
将快照依赖项添加到build 1
使用参数将 Artifact Dependency 添加到 build 1
从同一条链构建(这点很重要!!!)
打开 build 3
的构建配置设置
将3个Snapshot Dependency添加到2A
、2B
、2C
作为上一步。
将 3 Artifact Dependency 添加到 2A
、2B
、2C
,参数为 Build from the same chain上一步
最终,你会得到结果。只有当某些配置发生变化时,TC 才会重建,否则重新使用现有的。
查看我的配置依赖项
部署所有配置重新部署 Cassandra 数据库并重新部署 2 个构建。
Deploy 1
和 Deploy 2
需要来自构建的 Cassandra 结果和工件。因此,这两个 Deploys 都需要 Cassandra,但分别需要构建。