2017-05-29 143 views
0

请在下面找到我的DSL片段。我无法弄清楚我在这里做错了什么。Jenkins管道DSL失败

我收到以下错误,当我尝试运行以下

podTemplate(cloud: 'local', label: 'docker-kubectl', containers: [containerTemplate(alwaysPullImage: True, image: 'roshans416/docker-kubectl', name: 'docker-kubectl', privileged: true, ttyEnabled: true, workingDir: '/opt')], name: 'docker-kubectl', volumes: [hostPathVolume(hostPath: '/usr/bin/docker', mountPath: '/usr/bin/docker'), hostPathVolume(hostPath: '/var/run/docker.sock', mountPath: '/var/run/docker.sock'), secretVolume(mountPath: '/root/.kube', secretName: 'kube-config')]) { 
node(label: 'docker-kubectl') { 
    stage('check pods'){ 
     sh 'kubectl get pods -n jenkins' 
    } 
    stage('check docker version'){ 
     sh 'docker -v' 
    }  
    } 
} 

我收到以下错误。

*Started by user jenkins 
[Pipeline] End of Pipeline 
groovy.lang.MissingPropertyException: No such property: True for class: WorkflowScript 
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53) 
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getProperty(ScriptBytecodeAdapter.java:458) 
    at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.getProperty(DefaultInvoker.java:33) 
    at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20) 
    at WorkflowScript.run(WorkflowScript:1) 
    at ___cps.transform___(Native Method) 
    at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74) 
    at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30) 
    at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66) 
    at sun.reflect.GeneratedMethodAccessor346.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    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:74) 
    at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154) 
    at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:165) 
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:330) 
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:82) 
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:242) 
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:230) 
    at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64) 
    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* 

任何帮助将不胜感激。

问候,

穆罕默德·罗斯汉

回答

2

您使用大写Ttrue文字之一,在Groovy/Java的true是写在所有小写字母。即在第一行,你已经写了:

podTemplate(..., containers: [containerTemplate(alwaysPullImage: True, ...)],...]) { 

应该

podTemplate(..., containers: [containerTemplate(alwaysPullImage: true, ...)],...]) {