Jenkins:运行 build 不提供 docker slave

Jenkins: running build does not provision docker slave

我正在 运行ning Jenkins 1.609.1 与 docker-plugin 0.10.0 来提供 jenkins docker slave。 Docker 是 1.0.1 运行宁 Ubuntu 14.04.

我根据 https://wiki.jenkins-ci.org/display/JENKINS/Docker+Plugin ("Shortcut : Pulling a Docker image") 上的每个指令 evarga/jenkins-slave 创建了自定义 docker 图像。

在我的 Jenkins 配置中我有:

在作业配置中:

当我 运行 作业时,只执行 git 校验,但不是在从机上而是直接在主机上:

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

甚至没有迹象表明要提供 docker 从站。

我错过了什么?

感谢 answer on the jenkinsci-user mailing list:

我可以解决它

我在全局"Docker template"配置中添加的"Label"必须在作业配置中的字段"Restrict where this project can run"中使用

我错误地将其添加到职位 "Docker Container / Additional tag to add" 字段中。

旁注:我使用的是 Docker 1.10.0,在修复上述问题后,现在可以使用该设置,我得到:

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

升级到最新版本,就我而言是 1.7.1,立即解决了这个问题。

您是否将作业配置为 Docker 从站上的 运行。我认为这可能是问题所在,因为根据您的陈述,它 运行ning on master.

更多信息可以从我的post这里找到关于设置docker图像的信息。

http://www.scmtechblog.net/2016/01/setup-docker-slaves-for-jenkins.html