Why even over ride the JNLP container? Just use the default and add another 
container to the POD with your build tools (then you don't even have to use 
the YAML format since you won't require any of the extended benefits it 
provides). Then use the container step to execute in that container.

On Tuesday, May 1, 2018 at 5:53:06 AM UTC-7, Hung Do wrote:
>
> Hi everyone,
>
> I have a problem with this Jenkinsfile, which doesn't wants to build for me
>
> #!/usr/bin/env groovy
>
> pipeline {
>   agent {
>     kubernetes {
>       label 'maven2'
>       cloud 'openshift'
>       serviceAccount 'jenkins'
>       yaml """
> apiVersion: v1
> kind: Pod
> spec:
>   containers:
>   - name: jnlp
>     image: 
> docker-registry.default.svc:5000/cicd/jenkins-slave-maven-centos7:v3.9
>     imagePullPolicy: Always
>     workingDir: /tmp
>     args: ["${computer.jnlpmac} ${computer.name}"]
> """
>         }
>     }
>     stages {
>         stage('Check Java') {
>             steps {
>                 sh 'java -version'
>             }
>         }
>     }
> }
>
>
> With this Jenkinsfile, I get the following error 
>
> [Pipeline] End of Pipeline
> groovy.lang.MissingPropertyException: No such property: computer for class: 
> groovy.lang.Binding
>         at groovy.lang.Binding.getVariable(Binding.java:63)
>         at 
> org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:242)
>         at org.kohsuke.groovy.sandbox.impl.Checker$6.call(Checker.java:288)
>         at 
> org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:292)
>         at 
> org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:268)
>         at 
> com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:29)
>         at 
> com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
>         at WorkflowScript.run(WorkflowScript:18)
>         at 
> org.jenkinsci.plugins.pipeline.modeldefinition.ModelInterpreter.call(jar:file:/var/lib/jenkins/plugins/pipeline-model-definition/WEB-INF/lib/pipeline-model-definition.jar!/org/jenkinsci/plugins/pipeline/modeldefinition/ModelInterpreter.groovy:56)
>         at WorkflowScript.run(WorkflowScript:3)
>         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.GeneratedMethodAccessor425.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:83)
>         at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174)
>         at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163)
>         at 
> org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:122)
>         at 
> org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:261)
>         at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163)
>         at 
> org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$101(SandboxContinuable.java:34)
>         at 
> org.jenkinsci.plugins.workflow.cps.SandboxContinuable.lambda$run0$0(SandboxContinuable.java:59)
>         at 
> org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
>         at 
> org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:58)
>         at 
> org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:174)
>         at 
> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:332)
>         at 
> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$200(CpsThreadGroup.java:83)
>         at 
> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:244)
>         at 
> org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:232)
>         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:1149)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at java.lang.Thread.run(Thread.java:748)
> Finished: FAILURE
>
>
> If I remove this part 
>
> args: ["${computer.jnlpmac} ${computer.name}"]
>
>
> Then the Jenkinsfile gets accepted, the pod get started, but the container 
> crashes because there are no arguments. It is the official 
> openshift/jenkins-slave-maven-centos7:v3.9 image.
> If I try scripted pipelines without the YAML format, it will work if I 
> pass the args via the containertemplate syntax.
>
> Am I doing something wrong here?
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/fe5768d8-5986-4d96-a2ed-651265a1fb8c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to