Sorry, for another post. I don't know how to edit the previous post, I 
forgot to add this, when I removed the args parameter and saw the created 
pod with the crashing container, I have looked into the 'created yaml file' 
in Openshift and saw this :

<https://lh3.googleusercontent.com/-MqtWaGGeeDY/WujjGpNA9GI/AAAAAAAAAsU/uPIdfmE2By4u8AjLcbale0yslzGH39QHACLcBGAs/s1600/podyaml.png>


Op dinsdag 1 mei 2018 23:51:08 UTC+2 schreef Hung Do:
>
> I have removed the 'args' parameter from the yaml in the declarative 
> syntax and the container(openshift-slave-maven-centos7) just crashes 
> unfortunately.
>
>
> <https://lh3.googleusercontent.com/-I2SPhMJzWHM/Wujg6UvS0nI/AAAAAAAAAsI/TaXSid7yUg4VF5FKUw18Tbeg7xJqNOrjgCLcBGAs/s1600/Jenkinswithoutargs.png>
>
>
> <https://lh3.googleusercontent.com/-I2SPhMJzWHM/Wujg6UvS0nI/AAAAAAAAAsI/TaXSid7yUg4VF5FKUw18Tbeg7xJqNOrjgCLcBGAs/s1600/Jenkinswithoutargs.png>
>
>     
>
>
> Op dinsdag 1 mei 2018 20:55:32 UTC+2 schreef Carlos Sanchez:
>>
>> Just remove the 'args' parameter, it would use environments variables 
>>
>> On Tue, May 1, 2018, 20:18 Hung Do <hungd...@gmail.com> wrote:
>>
>>> Ah I thought I could just use the JNLP from the 
>>> openshift-slave-maven-centos7 
>>> <https://hub.docker.com/r/openshift/jenkins-slave-maven-centos7/>directly. 
>>> The end goal is to do the build with the openshift-slave-maven container 
>>> and do some integration tests with an attached mysql container, while at 
>>> the end also do some openshift CLI commands with the maven container. For 
>>> example, I started with the scripted pipelines syntax first. 
>>>
>>> podTemplate(label: 'maven2', serviceAccount: 'jenkins', cloud: 
>>> 'openshift', containers: [
>>>  containerTemplate(name: 'jnlp', image: 
>>> 'docker-registry.default.svc:5000/cicd/jenkins-slave-maven-centos7:v3.9'
>>> , alwaysPullImage: true, workingDir: '/tmp', args: '${computer.jnlpmac} 
>>> ${computer.name}', envVars: [
>>>    containerEnvVar(key: 'MAVEN_MIRROR_URL', value: 'xxxxxx')
>>>  ]),
>>>  containerTemplate(name: 'mysql', image: 'mysql:5.6', alwaysPullImage: 
>>> true, envVars: [
>>>    containerEnvVar(key: 'MYSQL_DATABASE', value: 'xxx'),
>>>    containerEnvVar(key: 'MYSQL_USER', value: 'xxx'),
>>>    containerEnvVar(key: 'MYSQL_PASSWORD', value: 'xxx'),
>>>    containerEnvVar(key: 'MYSQL_RANDOM_ROOT_PASSWORD', value: 'yes')], 
>>> ports: [portMapping(containerPort: 3306)])], volumes: [
>>>  emptyDirVolume(mountPath: '/var/lib/mysql')
>>>  ]
>>>  ) {
>>>
>>> node('maven2') {
>>>    stage('checkout') {
>>>        checkout scm
>>>    }
>>>
>>>         stage('check java') {
>>>            sh "java -version"
>>>        }
>>>
>>> This worked out perfectly fine, I thought mapping  it 1:1 to the 
>>> declarative + yaml format would achieve the same result, but that was not 
>>> the case.
>>>
>>> Op dinsdag 1 mei 2018 19:55:23 UTC+2 schreef Matthew Ceroni:
>>>
>>>> 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 jenkinsci-use...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/jenkinsci-users/2424ca0f-f4d9-48ed-ab0f-c1a90076df07%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/jenkinsci-users/2424ca0f-f4d9-48ed-ab0f-c1a90076df07%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>

-- 
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 jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/d3672173-0971-4496-a258-fd031295a975%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to