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

时间:2016-10-20 10:24:24

标签: jenkins jenkins-pipeline

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

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

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

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

注意 :master和slave1是我的节点

理想情况下,firstBranch和secondBranch是什么?

控制台输出:

  

由匿名用户启动   [管道]平行   [Pipeline] [firstBranch] {(分支:firstBranch)   [Pipeline] [secondBranch] {(分支机构:secondBranch)   [Pipeline] [firstBranch]节点   [firstBranch]在/scratch/gnithyan/.hudson/workspace/pipeline_test上运行master   [Pipeline] [secondBranch]节点
  [Pipeline] [secondBranch] //节点
  [Pipeline] [secondBranch]}
  [secondBranch]分支secondBranch中失败   [管道] [firstBranch] {
  [Pipeline] [firstBranch] echo
  [firstBranch] firstBranch
  [Pipeline] [firstBranch]}
  [Pipeline] [firstBranch] //节点
  [Pipeline] [firstBranch]}
  [管道] //平行
  [管道]管道末端
  
java.lang.IllegalStateException:无法开始将日志写入   完成节点   org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode [id = 8] at   org.jenkinsci.plugins.workflow.support.actions.LogActionImpl。(LogActionImpl.java:110)   在   org.jenkinsci.plugins.workflow.support.actions.LogActionImpl.stream(LogActionImpl.java:81)   在   org.jenkinsci.plugins.workflow.support.DefaultStepContext.get(DefaultStepContext.java:73)   在   org.jenkinsci.plugins.workflow.steps.StepDescriptor.checkContextAvailability(StepDescriptor.java:252)   在org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:179)at   org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:126)at at   org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108)   at groovy.lang.GroovyObject $ invokeMethod $ 0.call(Unknown Source)at   org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)

3 个答案:

答案 0 :(得分:5)

我有同样的问题。也许我找到了依赖的插件: https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Supporting+APIs+Plugin 请参阅版本2.10的发行说明 日志处理中的回归与2.9中并行的某些步骤。

是更新PlugIn的工作原理!

答案 1 :(得分:1)

似乎是管道api版本2.9中的错误,将使用2.10修复(另请参阅发布说明https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Supporting+APIs+Plugin

答案 2 :(得分:0)

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