如何在需要时触发昂贵的构建步骤?

Tim*_*nes 11 teamcity

我有一个TeamCity项目,其中包含以下构建配置:

  1. 收集依赖(昂贵)
  2. 建立
  3. 测试
  4. 部署

说我知道是否需要通过更改某个文件来执行此操作deps.txt.

这就是我想要做的事情:

  • 我想触发版本控制中所有更改的构建.
  • 如果deps.txt已经改变,我想运行构建1,然后是2,然后是3,然后是4.
  • 如果deps.txt没有改变,我想运行构建2然后3然后4.

我尝试将触发器放在构建配置上,如下所示:

  1. VCS触发没有签入,除非 +:deps.txt
  2. VCS会在所有签到中跳转,除非 -:deps.txt
  3. 快照依赖于2,在2完成构建时触发
  4. 快照依赖于3,3完成构建时触发

但如果提交包括更改deps.txt 其他文件,则配置1和2会同时触发,这意味着配置2将失败.

在TeamCity中有一种简单的方法吗?

Bor*_*sky 2

我想建议一种不同的方法:

A。创建重复的构建配置

b. 从上次构建开始触发整个构建链。

第一个构建配置链:

  1. 收集依赖项:无触发器

  2. 构建:快照和工件依赖于同一构建链上的 1,无触发器

  3. 测试:快照和工件依赖于同一构建链上的 2 个,无触发器

  4. 部署:快照和工件依赖于同一链上的 3 个,VCS 在 +:deps.txt 上触发

第二条构建配置链:

  1. 构建:快照和工件依赖于上次成功构建的 1,无触发器

  2. 测试:快照和工件依赖于同一条链上的 5 个,无触发

  3. 部署:快照和工件依赖于同一链上的 6 个,VCS 触发任何更改 -:deps.txt

为了减少重复,您可以使用 2 和 5、3 和 6、4 和 7 的模板。