构建链中的构建计划存在问题,这让我很困扰。
我有一个简单的构建链A -> B
,其中
除非需要,否则我想避免运行B - 即如果B的任何输入发生了变化 - 但我该怎么做?
如果检测到结果未更改,我可能会失败/取消A,但这会导致"快照依赖性失败"对于B,所以如果任何其他B的其他输入源确实改变了它将不会重建结果......
有没有办法停止或中止A的构建,以便不会触发B的构建?
编辑 :我(可能)有一个想法:我可以在SCM中检查生成的工件 - 如果它与以前的版本不同 - 并且让这推动了B的触发 - 它已经在SCM中拥有许多其他来源。它不会是同一个构建链的一部分 - 据我所知 - 但它是次佳的......
答案 0 :(得分:1)
我不这么认为。 TeamCity中的构建链是静态的。
有两种可能的解决方法
我认为你理想的想要在A中处理这个问题,所以#2不是一个选择。 #1虽然接近但当然还有更多的参与。
答案 1 :(得分:0)
我想它应该跳过A重建并使用最近的一个,如果A的新潜在构建与一些最近的构建相同。例如,请求具有相同VCS版本且具有相同设置的依赖构建A不应再次触发构建。