就是这个在我们的环境中,我们使用的是GCE可抢占节点和Jenkins GCE插件。因此,在构建过程中节点很可能会消失(甚至是预期的)。问题是,Jenkins GCE插件只是将该节点标记为“脱机”,但是在该节点上分配了执行程序的并行作业“部件”只会一直在那儿徘徊,似乎永远如此,显然是希望该节点能够回来。

,我的问题很简单:

是否有可能迫使Jenkins尽快重新安排(不失败)并行构建的“零件”它正在执行的节点脱机?如果是这样,该怎么做?

#1 楼

有两种方法,我认为这两种方法都不是特别好的,因为它们不会严格“禁止失败”构建:


使用诸如Naginator之类的插件可以配置为重新启动构建,直到通过。这可能非常令人沮丧,因为您需要区分终止的短暂/可抢占虚拟机和真正失败的构建。
移至可管理单个作业并根据一组规则重新启动它们的协调器模型。 >
也许更好的解决方案是开发一个类似于EC2 Fleet插件的Jenkins插件,该插件负责分散和维护竞价型实例(即类似于GCE的可抢占实例),当它们由于实例回收而失败时重新提交作业。