当前位置:  开发笔记 > 运维 > 正文

在詹金斯中并行运行两个管道时出现死锁

如何解决《在詹金斯中并行运行两个管道时出现死锁》经验,为你挑选了0个好方法。

目前,我有以下问题。我已经编写了一个Jenkinsfile来在管道中构建我的存储库。每个存储库在多分支管道中都有自己的管道。每当我推送存储库时,管道就会开始工作。

对于建筑物,我有一个具有两个节点的Agent。当多分支管道正在运行时,多分支管道使用一个节点来执行单个管道,而当前正在执行的管道使用第二个节点来运行单个作业。

当两条管道同时运行时,两条管道都使用一个节点。但是现在的问题是,由于所有节点都被占用,两个管道都无法启动任何作业。由于两个管道都在等待一个空闲节点来执行任务,因此这时我陷入了僵局。

我尝试设置“ disableConcurrentBuilds()”,但这只会阻塞名称相同的管道。多分支管道中具有不同名称的管道可以同时运行。

第二次尝试是使用Jenkinsfile中的此代码设置Build Blocker Plugin。

properties([
    [$class: 'BuildBlockerProperty',
     blockLevel: 'GLOBAL',
     blockingJobs: '*pipeline_Test*',
     scanQueueFor: 'ALL',
     useBuildBlocker: true],
   disableConcurrentBuilds()
   ])

但是,然后我收到此错误消息。

WorkflowScript:30:无效的选项类型“属性”。有效选项类型:[buildDiscarder,catchError,checkoutToSub目录,disableConcurrentBuilds,disableResume,耐久性提示,锁,newContainerPerStage,overrideIndexTriggers,重试,脚本,skipDefaultCheckout,skipStagesAfterUnstable,超时,waitUntil,withContext,withCredentials,withEnv,ws] @第30行,第4列

如何在整个管道的Jenkinsfile中设置BuildBlockerProperty?只要管道正在运行,还有其他方法可以阻塞所有其他管道吗?

谢谢你的帮助。

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有