-
Bug
-
Resolution: Fixed
-
Major
-
None
I'm trying to execute a maven build inside of my custom container (my.registry.com/build-env:jdk8-maven3):
node('docker') { docker.withRegistry('https://my.registry.com', 'docker-registry-login') { def maven = docker.image("my-build-env:jdk8-maven3") sh "echo ${maven.imageName()} -- ${maven.id}" maven.pull() maven.inside() { sh "echo Hello" } } }
It goes well until the pull, which uses the imageName (my.registry.com/build-env:jdk8-maven3) but the run command uses id (build-env:jdk8-maven3)
Abbreviated logs:
Started by user Radesh Rao [Pipeline] Allocate node : Start Running on docker in /data/jenkins/workspace/My pipeline [Pipeline] node { [Pipeline] Set environment variables : Start [Pipeline] withEnv { [Pipeline] Sets up Docker registry endpoint : Start [Pipeline] withDockerRegistry { [Pipeline] sh [Cloud pipeline] Running shell script + echo my.registry.com/build-env:jdk8-maven3 -- build-env:jdk8-maven3 my.registry.com/build-env:jdk8-maven3 -- build-env:jdk8-maven3 [Pipeline] sh [Cloud pipeline] Running shell script + docker inspect -f . build-env:jdk8-maven3 Error: No such image or container: build-env:jdk8-maven3 [Pipeline] sh [Cloud pipeline] Running shell script + docker pull my.registry.com/build-env:jdk8-maven3 jdk8-maven3: Pulling from build-env fdd5d7827f33: Pulling fs layer // .... // snip // .... 416e801cfa37: Pull complete Digest: sha256:cadb8d0e48a2dc98d1c88f633b8ac226d5df00ffeaa66d3522b02dfdd055351b Status: Downloaded newer image for my.registry.com/build-env:jdk8-maven3 [Pipeline] Run build steps inside a Docker container : Start $ docker run -t -d -u 995:991 -w "/data/jenkins/workspace/My pipeline" -v "/data/jenkins/workspace/My pipeline:/data/jenkins/workspace/My pipeline:rw" -v "/data/jenkins/workspace/My pipeline@tmp:/data/jenkins/workspace/My pipeline@tmp:rw" -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** build-env:jdk8-maven3 cat [Pipeline] Run build steps inside a Docker container : End [Pipeline] } //withDockerRegistry [Pipeline] Sets up Docker registry endpoint : End [Pipeline] } //withEnv [Pipeline] Set environment variables : End [Pipeline] } //node [Pipeline] Allocate node : End [Pipeline] End of Pipeline java.io.IOException: Failed to run image 'build-env:jdk8-maven3'. Error: Unable to find image 'build-env:jdk8-maven3' locally docker: Error response from daemon: Authentication is required: Get https://registry-1.docker.io/v2/library/build-env/manifests/jdk8-maven3: unauthorized: incorrect username or password. See 'docker run --help'. at org.jenkinsci.plugins.docker.workflow.client.DockerClient.run(DockerClient.java:112) at org.jenkinsci.plugins.docker.workflow.WithContainerStep$Execution.start(WithContainerStep.java:145) at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:136) at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:113) at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:15) at org.jenkinsci.plugins.docker.workflow.Docker$Image.inside(jar:file:/var/lib/jenkins/plugins/docker-workflow/WEB-INF/lib/docker-workflow.jar!/org/jenkinsci/plugins/docker/workflow/Docker.groovy:112) at org.jenkinsci.plugins.docker.workflow.Docker.node(jar:file:/var/lib/jenkins/plugins/docker-workflow/WEB-INF/lib/docker-workflow.jar!/org/jenkinsci/plugins/docker/workflow/Docker.groovy:63) at org.jenkinsci.plugins.docker.workflow.Docker$Image.inside(jar:file:/var/lib/jenkins/plugins/docker-workflow/WEB-INF/lib/docker-workflow.jar!/org/jenkinsci/plugins/docker/workflow/Docker.groovy:104) at WorkflowScript.run(WorkflowScript:10) at org.jenkinsci.plugins.docker.workflow.Docker.withRegistry(jar:file:/var/lib/jenkins/plugins/docker-workflow/WEB-INF/lib/docker-workflow.jar!/org/jenkinsci/plugins/docker/workflow/Docker.groovy:38) at ___cps.transform___(Native Method) at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:55) at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:106) at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:79) at sun.reflect.GeneratedMethodAccessor518.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72) at com.cloudbees.groovy.cps.impl.ClosureBlock.eval(ClosureBlock.java:40) 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.CpsThread.runNextChunk(CpsThread.java:164) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:277) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$000(CpsThreadGroup.java:77) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:186) at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:184) at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:47) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) 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:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Finished: FAILURE
- is related to
-
JENKINS-47693 docker.withRun within a withRegistry block seems to use image.id instead of image.imageName()
- Open
- relates to
-
JENKINS-43465 docker.run within a withRegistry block seems to use image.id instead of image.imageName()
- In Progress
-
JENKINS-38173 docker.build() should be to work without an image name
- Open
- links to
(1 links to)