当前位置: 首页 > 知识库问答 >
问题:

Jenkins管道插件如何运行并行任务

濮阳驰
2023-03-14

Jenkins管道插件如何运行并行任务

我是jenkins的初学者,我想使用管道插件在jenkins的可用从节点上并行启动一些任务。

我安装了管道插件并在下面的管道内联脚本部分中添加了。

grovvy script : 
    parallel firstBranch: {
        node('master'){
            echo 'firstBranch'
        }
    }, 
    secondBranch: {
        node('slave1'){
            echo 'secondBranch'
        }
    }

注意:主节点和从站1是我的节点

理想情况下,第一分支和第二分支是什么????

html" target="_blank">控制台输出:

由用户匿名[Pipeline]parallel[Pipele][firstBranch]{(Branch:firstBrank)[Pipene][secondBranch]{(Brach:secondBrand])[PPipeline]节点[firstBranch]在/scratch/gnithyan/.hudson/workspace/Pipeline_test
[Pipeline][secondBranch]节点上运行branch secondBranch
[Pipeline][firstBranch]{
[Pipeline][first branch]echo [Pipeline][first branch]} [Pipele][/parallel
[Ppeline]管道结束

java.lang.IllegalStateException:无法开始将日志写入完成的节点org.jenkinsci.plugins.workflow.cps.nodes。org.jenkinsi.plugins.workflow.support.actions.LogActionImpl.(LogActionImpl.java:110)处的StepStartNode[id=8],org.jenkinsci.plugins.workflow.support.actions.logActionImple.stream(LogAction Impl.java:81)处的,org.Jenkinsi.plugins.workflowsupport.DefaultStepContext.get(DefaultStep Context.java:73),org.jankinsi.插件.workflows.steps.StepDescriptor.checkContextAvailability(StepDescriptor.java:252)处的位于org.jenkinsi.plugins.workflow.cps.DSL.invokeStep(DSL.java:179),位于org.jenkinsci.plugins.workflow.cops.DSL.invokeMethod(DSL.java:126),位于groovy.lang.GroovyObject$invokeMethod$0.call(未知源),位于rg.codehaus.grovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArrary.java:48)

共有3个答案

郦兴德
2023-03-14

对我来说,它看起来完全正确。我将交付定义为管道,并且工作正常。今天,将 Jenkins 从 2.25 更新到 2.26 后,我遇到了同样的错误。不过,降级到 2.25 并没有帮助,也许是因为我也更新了插件:(

仲孙磊
2023-03-14

似乎是管道api版本2.9中的一个错误,将用2.10进行修复(另请参见发行说明https://wiki.jenkins-ci.org/display/JENKINS/Pipeline支持API插件)

仉俊能
2023-03-14

我也有同样的问题。也许我找到了依赖插件:https://wiki.jenkins-ci.org/display/JENKINS/Pipeline支持API插件参见2.9版本中日志处理中2.10版本回归的发行说明。

是的,更新插件有效!

 类似资料:
  • 问题内容: 我正在编写一个新的Jenkins管道,并具有一组最终要并行运行的步骤。但是,在开发此管道时,我想强制其顺序运行。我没有看到任何指定并行步骤使用的线程数或类似方法的方法。这是到目前为止的基本代码: 我希望能够依次运行这些Shell脚本而无需更改很多代码。 问题答案: 而不是您可以这样使用:

  • 我有一大堆Scalaz任务。创建方式如下: 我希望这些任务并行运行。以随机顺序打印数字,不要花5秒钟(每个任务有50个任务和100毫升睡眠)。 但是,很明显,每个任务需要100毫秒,所有任务都需要5秒钟,并且创建的列表是有序的。 如何并行运行它们?任务在哪里运行线程?

  • 问题内容: 请注意: 这个问题是基于旧的,现在称为“脚本化”管道格式的。使用“声明性管道”时,可以将并行块嵌套在阶段块内部(请参阅带有声明性管道1.2的并行阶段)。 我想知道Jenkins工作流/管道插件,特别是并行步骤应该如何工作。如何将它们与构建阶段混合使用。我了解一般模式: 但是,我想并行运行几个阶段(在具有多个执行程序的同一节点上),因此我尝试添加以下阶段: 这不能按预期方式工作。“执行任

  • 我有一个Jenkinsfile,其中构建和测试在同一个Slaver上运行。我的要求是,构建必须在一个从站(比如A)上,测试必须在另一个从站(比如B)上运行。 我刚刚设置了奴隶B,我可以看到我的奴隶A和B都在Jenkins- 以下是看到的问题: 1.)在构建阶段成功后,我得到以下错误: " java.lang.NoSuchMethodError:在步骤[archive,bat,build,catch

  • 目前我有以下问题。我已经编写了一个Jenkinsfile来在管道中构建我的存储库。每个存储库在多分支管道中都有自己的管道。每当我推动存储库时,管道就会开始工作。 对于这个建筑,我有一个带有两个节点的代理。当多分支管道运行时,多分支管道使用一个节点来执行单个管道,第二个节点由当前正在执行的管道使用来运行单个作业。 当两个管道同时运行时,两个管道都使用一个节点。但是现在的问题是两个管道都无法启动任何作

  • 有什么办法可以做到吗?如果我们不能用maven surefire插件来做,是否可以在测试中配置它?