Hello List,
I am trying to provision jenkins build slaves (docker templates) on demand
with the docker plugin. The build images are stored in a local registry
which requires credentials. Now I came across the following screenshot where
the user was able to specify the custom registry:
https://user-images.githubusercontent.com/28305157/31658912-566eef16-b32a-11
e7-810e-a3308769a911.png
This option does not exist on my jenkins installation however (There is only
a button to add registry credentials - odd enough).
In the logs I get the following messages:
Asked to provision 1 slave(s) for: Java
Jan 15, 2018 3:52:35 PM INFO com.nirima.jenkins.plugins.docker.DockerCloud
provision
Will provision 'XXX/buildslaves:java', for label: 'Java', in cloud: 'docker'
Jan 15, 2018 3:52:41 PM INFO com.nirima.jenkins.plugins.docker.DockerCloud
addProvisionedSlave
Provisioning 'XXX/buildslaves:java' number '0' on 'docker'; Total
containers: '2'
Jan 15, 2018 3:52:41 PM INFO
com.nirima.jenkins.plugins.docker.DockerTemplate pullImage
Pulling image 'XXX/buildslaves:java'. This may take awhile...
Jan 15, 2018 3:52:41 PM INFO
hudson.slaves.NodeProvisioner$StandardStrategyImpl apply
Started provisioning Image of XXX/buildslaves:java from docker with 1
executors. Remaining excess workload: 0
Jan 15, 2018 3:52:43 PM SEVERE
com.github.dockerjava.core.async.ResultCallbackTemplate onError
Error during callback
com.github.dockerjava.api.exception.NotFoundException: {"message":"pull
access denied for XXX/buildslaves, repository does not exist or may require
'docker login'"}
at
com.github.dockerjava.netty.handler.HttpResponseHandler.channelRead0(HttpRes
ponseHandler.java:103)
at
com.github.dockerjava.netty.handler.HttpResponseHandler.channelRead0(HttpRes
ponseHandler.java:33)
at
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboun
dHandler.java:105)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractCha
nnelHandlerContext.java:362)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractCha
nnelHandlerContext.java:348)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChann
elHandlerContext.java:340)
at
io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:241)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractCha
nnelHandlerContext.java:362)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractCha
nnelHandlerContext.java:348)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChann
elHandlerContext.java:340)
at
io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContex
t.fireChannelRead(CombinedChannelDuplexHandler.java:438)
at
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDec
oder.java:310)
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder
.java:284)
at
io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDup
lexHandler.java:253)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractCha
nnelHandlerContext.java:362)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractCha
nnelHandlerContext.java:348)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChann
elHandlerContext.java:340)
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1267)
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1078)
at
io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(B
yteToMessageDecoder.java:489)
at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.
java:428)
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder
.java:265)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractCha
nnelHandlerContext.java:362)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractCha
nnelHandlerContext.java:348)
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChann
elHandlerContext.java:340)
at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChann
elPipeline.java:1334)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractCha
nnelHandlerContext.java:362)
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractCha
nnelHandlerContext.java:348)
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeli
ne.java:926)
at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioBy
teChannel.java:134)
at
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
at
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.
java:579)
at
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
at
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventEx
ecutor.java:858)
at
io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(D
efaultThreadFactory.java:138)
at java.lang.Thread.run(Thread.java:748)
I'm using the Jenkins docker image with the following docker plugins and
versions:
Docker API Plugin 3.0.14
Docker Commons Plugin 1.11
Docker Pipeline 1.14
Docker plugin 1.1.2
Any help with this is highly appreciated.
Best Regards
Markus Petzsch