如何跳过队列使Jenkins作业优先运行?求替代插件推荐
Jenkins作业队列插队优先构建的替代实现方案
该场景的核心诉求是让新提交的作业突破Jenkins默认的先到先得队列规则,获得更高的调度优先级,提前拿到构建执行资源。针对已停止维护的accelerated-build-now-plugin,目前有三类可落地、兼容主流Jenkins LTS版本的成熟替代方案:
- Build Priority Plugin
这是目前社区长期维护、生产环境应用最广泛的同类替代插件。插件在Jenkins内置队列调度逻辑的基础上,按照每个作业的优先级权重对等待队列重新排序,权重越高的作业,会在有空闲执行节点时被优先分配资源。
如果是临时提交的紧急插队作业,不需要修改作业本身的流水线配置,可以在Jenkins的队列管理界面对单个待执行作业临时调整优先级,只要将第11个作业的优先级设置为高于队列中原有10个作业的对应值,即可实现插队调度。 - 流水线内置优先级配置
针对流水线类型的作业,不需要额外安装全局插件,直接在流水线脚本的最开头通过内置的properties指令声明作业优先级即可。只要设置的优先级数值高于当前队列中所有待执行作业的优先级值,该作业就会被排到队列靠前位置,在匹配到空闲节点时优先启动。 - 专属节点资源预留
如果团队对作业调度的权限管控要求较高,不允许随意调整全局队列顺序,也可以不改动原有10个作业的排队逻辑,给第11个作业绑定专属的、当前无其他作业占用的节点标签。这种方式下,第11个作业不需要和原有队列的作业争抢公共节点资源,直接匹配专属节点启动构建,同样可以实现比原有队列作业更早完成构建的效果。
注意:已停更的accelerated-build-now-plugin核心实现逻辑和上述构建优先级类方案同源,都是通过修改队列排序规则让紧急作业插队,但由于缺少持续的版本兼容维护,在新版本Jenkins上容易出现权限校验失效、队列排序错乱的问题,不建议在生产环境继续使用。
内容的提问来源于stack exchange,提问作者rodee
相关产品推荐
相关产品推荐

