2017-06-11 1 views
1

Jungs Ich habe mit Jenkins-Pipeline (Jenkinsfile) für eine Weile gespielt, leider habe ich eine Sackgasse erreicht.Erhalt exection 'java.lang.IllegalStateException: Es gibt keine Körper zu rufen'

Verwenden des Ordners 'GitHub Organization' zum Erstellen von PullRequests.

Der 'sanjer'-Knoten ist eine virtuelle Maschine, die in der Jenkins-Maschine als Slave sitzt. Aus irgendeinem Grund scheint Jenkins es nicht zu finden, der Knoten ist online und funktioniert gut.

Die Pipeline auf dem sanjer Knoten ausfällt Stufe

Der Fehler:

java.lang.IllegalStateException: There is no body to invoke 
at org.jenkinsci.plugins.workflow.cps.CpsStepContext.newBodyInvoker(CpsStepContext.java:282) 
at org.jenkinsci.plugins.workflow.cps.CpsStepContext.newBodyInvoker(CpsStepContext.java:95) 
at org.jenkinsci.plugins.workflow.support.steps.WorkspaceStepExecution.start(WorkspaceStepExecution.java:62) 
at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:184) 
at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:126) 
at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108) 
at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source) 
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) 
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) 
at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151) 
at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21) 
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115) 
at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149) 
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146) 
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:123) 
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:123) 
at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16) 
at WorkflowScript.run(WorkflowScript:52) 
at ___cps.transform___(Native Method) 
at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:57) 
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:109) 
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82) 
at sun.reflect.GeneratedMethodAccessor333.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) 
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:103) 
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82) 
at sun.reflect.GeneratedMethodAccessor333.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) 
at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:60) 
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:109) 
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82) 
at sun.reflect.GeneratedMethodAccessor333.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) 
at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21) 
at com.cloudbees.groovy.cps.Next.step(Next.java:58) 
at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154) 
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18) 
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33) 
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30) 
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108) 
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30) 
at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:163) 
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:324) 
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:78) 
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:236) 
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:224) 
at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:63) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112) 
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 
Finished: FAILURE 

Dies ist die Jenkinsfile ist:

#!/usr/bin/env groovy 
import groovy.util.* 

sanjer_ip = "10.0.0.0" 
work_dir = '/opt/tikal' 
deploy_dir = "${work_dir}/deploy" 

properties properties: [ 
    disableConcurrentBuilds() 
] 
node ("localroot"){ 
    ws ("${work_dir}") { 
     stage('init'){ 
      checkout scm 
      sh "cd ${deploy_dir}; ./deploy.sh init" 
      sh "/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE" 
     } 
    } 
} 

node ("sanjer"){ 
    ws ("${work_dir}") 
     stage('reqs-sanjer'){ 
      sh "cd ${deploy_dir}; ./deploy.sh init" 
    } 
} 

Antwort

0

Letzter Knoten Block fehlt geschweiften Klammern { }ws beginnen blockieren und schließen stage Block. Es sollte sein:

node ("sanjer"){ 
    ws ("${work_dir}"){ 
     stage('reqs-sanjer'){ 
      sh "cd ${deploy_dir}; ./deploy.sh init" 
     } 
    } 
} 

Solch große Fehlermeldung sieht aus, als gäbe es ein größeres Problem.

Verwandte Themen