I'm running Jenkins 1.609.1 with docker-plugin 0.10.0 to provision jenkins docker slave. Docker is 1.0.1 running on Ubuntu 14.04.
I've created a customized docker images based on evarga/jenkins-slave
per instruction on https://wiki.jenkins-ci.org/display/JENKINS/Docker+Plugin ("Shortcut : Pulling a Docker image").
In my Jenkins configuration I've:
my/jenkins:0.1
) image using supervisord to run SSH, MySQL, Postgres, ElasticSearch, PHP and NodeJS insidemy/jenkins:0.1
) and provided the launch method via "Docker SSH launcher"In the job configuration:
When I run the job, only the git checkout is performed, but not on the slave but directly on the host:
Started by user MyUser
Building in workspace /var/lib/jenkins/workspace/Project-Core
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url git@github.com:MyUser/Project-Core.git # timeout=10
Fetching upstream changes from git@github.com:MyUser/Project-Core.git
> git --version # timeout=10
using GIT_SSH to set credentials
> git -c core.askpass=true fetch --tags --progress git@github.com:MyUser/Project-Core.git +refs/heads/*:refs/remotes/origin/*
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 96dcbc7aa615451448184493c499c14eeb7050cc (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 96dcbc7aa615451448184493c499c14eeb7050cc
> git rev-list 1405ab6d96a395e53c80f6d7353e11bea93675bc # timeout=10
Finished: SUCCESS
There's no sign of even trying to provision the docker slave.
What am I missing?
I could solve it thanks to an answer on the jenkinsci-user mailing list:
The "Label" I added to the global "Docker template" configuration has to be used in the field "Restrict where this project can run" in the job configuration.
I mistakenly added it to the jobs "Docker Container / Additional tag to add" field.
On a sidenote: I was using Docker 1.10.0 which, after fixing the above, turned out to now work with the setup, I got:
Error in provisioning; template='DockerTemplate{labelString='jenkins', launcher=com.nirima.jenkins.plugins.docker.launcher.DockerComputerSSHLauncher@28c3da52, remoteFsMapping='', remoteFs='/home/jenkins', instanceCap=2147483647, mode=NORMAL, retentionStrategy=com.nirima.jenkins.plugins.docker.strategy.DockerOnceRetentionStrategy@1ccaa52c, numExecutors=1, dockerTemplateBase=DockerTemplateBase{image=jenkins:0.3}}' com.github.dockerjava.api.InternalServerErrorException: Cannot start container b35c3d99a13b8b6365cd79a90b9fa65d3b3780b63a5a8d2683853583e81885ee: write /sys/fs/cgroup/cpuset/docker/b35c3d99a13b8b6365cd79a90b9fa65d3b3780b63a5a8d2683853583e81885ee/cpuset.cpus: invalid argument
Upgrading to the latest version, 1.7.1 in my case, instantly fixed this.