如果标签离线,Jenkins Matrix Groovy执行策略插件将挂起

时间:2019-01-25 09:17:20

标签: jenkins groovy

我正在尝试使用Matrix Groovy Execution Strategy Plugin为Jenkins实现更复杂的组合过滤器。有关更多详细信息,请参见我的previous question。似乎可以正常工作,但是如果设置了标签的节点处于脱机状态,则矩阵作业将挂起,并且不会将其余矩阵项放入作业队列中。

这足以在插件中产生相同的效果:

combinations.each{
            result[it.cfg] = result[it.cfg] ?: []
            result[it.cfg] << it
}
return [result, true]

如果将执行策略设置为“经典”,则即使某些节点处于脱机状态,所有作业标签也会进入队列。如果有任何不同,我启用了“执行并发构建(如有必要)”。

我需要修复某些设置吗?这是插件问题吗?

1 个答案:

答案 0 :(得分:2)

那是因为经典策略将所有关键作业都排在了队列中,然后将其他作业排入了队列。

此插件将按部分计划它们,如果节点处于脱机状态,则它们将等待,这是标准行为

您可以尝试this

注意:我写了矩阵执行策略插件


包含评论

您可以通过以下操作强制所有组合一次性提交:

combinations.each{
            result["a"] = result["a"] ?: []
            result["a"] << it
}
return [result, true]