首页 文章

强制Jenkins只运行一个管道作业并将其余部分放入队列中

提问于
浏览
0

我想在整个jenkins服务器中一次只构建一个项目 . 我已经尝试过Jenkins节流并发插件和可锁定的资源插件,但没有运气 . 由于可锁定资源插件不允许我选择锁定管道作业 .

我有3个Jenkins管道作业(作业有管道脚本):

JOB1
JOB2
JOB3

在工作开始时有一些常见的事情(清除内容) .

如果作业完成,则手动逐个运行没有任何问题但是如果JOB1正在构建并且JOB2在其间开始,那么它将中断到JOB1并且JOB1的构建失败 .

即使我使用CLI启动作业,您也不会知道哪个作业可能正在运行 . 所以,我正在寻找阻止JOBY的解决方案,如果JOBX正在运行(X,Y可以是1,2或3)并且只允许一个作业在整个Jenkins服务器中运行 . 就像我说的那样,节流并发插件只为各自的作业而不是多个作业提供自定义选项?

任何人都可以建议一些解决方案多管道作业块只运行一次?

1 回答

  • 1

    安装Build Blocker Plugin

    在JOBY的配置中选中“如果某些作业正在运行则阻止构建” .

    将JOBX名称放在阻止作业文本区域中,每个作业都在新行上 .

    注意,您还可以使用正则表达式来定义具有相同前缀但以不同数字结尾的单行作业 .

相关问题