2012-10-11 32 views
2

仅当其他作业中的其中一个作业是由SCM触发器构建时,是否有可能触发某个作业?Jenkins - 如果其他项目之一被SCM拉动,则触发作业

例如: 1.项目A,B,C由SCM触发器构建。 2.只有在构建A或B或C时才会构建项目D.即使所有的上游项目都是建造的(A,B和C),它也应该只建造一次。

+0

假设'工作D'已经建立一次(由其他工作之一触发),您如何知道何时再次构建'工作D'? – Gonen

回答

0

对于作业'D',在高级项目选项下,添加安静期(多长时间,实验什么效果很好)。还使build参数化,并为SCM版本添加参数。从其他版本触发构建时,使用参数化触发器插件并将SCM版本作为参数。

这里的想法是,当有两个相同的构建排队时,詹金斯将它们组合起来,并构建D一次。

这假定Jenkins的版本控制支持实际上设置了指示版本的环境变量(在A,B和C作业中),但我并不完全确定这一点。如果你不这样做,但你得到了多个构建,试验构建D中的“允许并发构建”复选框,我认为它对此有一些影响,不管怎么样。

相关问题