Continuous integration 防止TeamCity中的过度构建

Continuous integration 防止TeamCity中的过度构建,continuous-integration,teamcity,Continuous Integration,Teamcity,我在TeamCity 6.0.4上运行。我有两个项目,Foo和Bar,每个项目都生产人工制品。这些工件由Repo消费,然后由Leaf消费Repo生成的工件 我的问题是酒吧依赖于Foo。因此,在构建Foo时,会发生以下事件: Foo构建。这会触发Bar和回购 酒吧建设。这将再次触发回购 Leaf看到两次回购构建,这意味着Leaf构建了两次 我应该如何解决这个问题以防止不必要(和不适当)构建Leaf 注意:让Foo不触发回购可能暂时解决问题,但当我们引入Baz(这也取决于Foo)时,我们又遇到了问题

我在TeamCity 6.0.4上运行。我有两个项目,Foo和Bar,每个项目都生产人工制品。这些工件由Repo消费,然后由Leaf消费Repo生成的工件

我的问题是酒吧依赖于Foo。因此,在构建Foo时,会发生以下事件:

  • Foo构建。这会触发Bar和回购
  • 酒吧建设。这将再次触发回购
  • Leaf看到两次回购构建,这意味着Leaf构建了两次
  • 我应该如何解决这个问题以防止不必要(和不适当)构建Leaf

    注意:让Foo不触发回购可能暂时解决问题,但当我们引入Baz(这也取决于Foo)时,我们又遇到了问题:

  • Foo构建。这会触发Bar和Baz
  • 酒吧建设。这将触发回购协议的建立
  • Baz构建。这将触发回购协议的建立
  • Leaf看到两次回购构建,这意味着Leaf构建了两次
  • Baz即将推出


    建议?

    我的想法是让回购吸收某个时间段内的所有触发因素,并只生成一个构建,但我不知道TeamCity允许这样做。还要注意的是,这是一系列依赖于以前项目工件的项目,所以源代码快照似乎对我没有帮助。如果我错了,我想接受教育!我目前最好的解决方案是将Foo、Bar和Baz整合到单个构建项目中。但这掩盖了构建失败时的错误消息传递,防止了在一个构建失败时触发所有三个构建的回购,并创建了一个非常庞大的项目,其中不清楚哪些方面与之相关。