如何在多个其他构建完成且不触发依赖链后在 teamcity 中构建项目?

How to build a project in teamcity after multiple other builds have finished and not trigger the dependency chain?

我的问题与 Trigger subsequent build once after multiple parallel builds in TeamCity 有关,但我遇到了一个问题,所以在此处发布。

以下是我的设置。我正在尝试创建一个链,以便当我 运行 A 时,完整的链 运行s.

A(根项目)- B(依赖于 A 的快照 + 在 A 上完成构建触发器)-(依赖于 B 的快照)聚合项目。

A(根项目)-c(依赖A的快照+A上的Finish Build触发器)-(依赖C的快照)聚合项目。

快照依赖项并没有真正做任何事情(没有快照,我在 A 处使用了一个虚拟构建配置),我必须创建它,因为我想使用 %dep 从 A 沿着链传递动态值这是我无法仅通过 Finish Build 触发器实现的。

现在,我还需要能够独立触发 B(在那种情况下我不需要聚合,只有在启动根项目 A 时才需要),这样 C 就不会被触发,反之亦然,但是当我触发 B 时的当前设置,A 被触发(由于快照依赖性,然后聚合被触发,然后 C 进入队列,因为聚合也是快照依赖于 C)。我是 Teamcity 的新手,所以我可能做错了。感谢任何帮助。

为了实现您的目标,您需要:

  1. 删除完成构建触发器
  2. 确保存在来自 B => A 和 C => A 的快照依赖关系
  3. 添加一个对 B 和 C 具有快照依赖性的新构建 (D)。这将是当您希望 A、B 和 C 到 运行
  4. 时触发的构建

触发C只会让A和C变成运行,触发B只会让A和B变成运行。

如果您在配置方面需要帮助,请告诉我

希望对您有所帮助