jenkins在docker工人触发按需从属

我正在寻找一种方法来运行jenkins工作/build立里面的jenkins奴隶,dynamic(按需)启动docker。 附加模式以便于视觉理解。 我实际上在寻找什么,我的stream程如下所示:

1)触发Jenkins作业(手动/ git / gerrit)
2)jenkins大师(在docker运行)启动奴隶机器docker(并传递构build脚本/指令)
3)构build运行在Jenkins从站(或从站,如果并行/pipe道)
4)结果返回给jenkins大师
5)jenkins奴隶docker停止

詹金斯流

可以这样做吗?

  1. Docker从属映像创build步骤,如安装openssh,创build用户,在下面的链接中提到。 从下面的链接安装docker插件。

    点击这里 !

  2. 转到jenkins全局configuration,在云标题下,dockerconfiguration将在那里,inputdocker主机的URL与端口号,凭证不需要。 为连接超时和读取超时提供一些值。

  3. 在docker模板下 – input我们在点编号1中创build的docker图像名称。

  4. 设置标签号(在创buildJenkins作业时给出这个标签名称,并限制为该从属名称),

  5. select使用选项 – >仅使用标签限制生成作业。

  6. No执行者 – >最小值1.select启动方式作为ssh,input用户凭证login,在步骤1中我们在Docker镜像中创build。

创build一个工作限制到docker的奴隶标签,运行,ondemand它将旋转容器。

使用这个插件: https : //wiki.jenkins-ci.org/display/JENKINS/Yet+Another+Docker+Plugin

安装后(它需要Java 1.8)naviaget来configuration。 有两个步骤:

  1. configurationdocker“云”
  2. 添加你想运行构build的“实例”(docker images)

每个图像应该有标签分配 – 在你的作业configuration中使用这个标签告诉jenkins应该运行哪个节点的作业