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停止
可以这样做吗?
-
Docker从属映像创build步骤,如安装openssh,创build用户,在下面的链接中提到。 从下面的链接安装docker插件。
点击这里 !
-
转到jenkins全局configuration,在云标题下,dockerconfiguration将在那里,inputdocker主机的URL与端口号,凭证不需要。 为连接超时和读取超时提供一些值。
-
在docker模板下 – input我们在点编号1中创build的docker图像名称。
-
设置标签号(在创buildJenkins作业时给出这个标签名称,并限制为该从属名称),
-
select使用选项 – >仅使用标签限制生成作业。
-
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。 有两个步骤:
- configurationdocker“云”
- 添加你想运行构build的“实例”(docker images)
每个图像应该有标签分配 – 在你的作业configuration中使用这个标签告诉jenkins应该运行哪个节点的作业