Jenkins 在码头工人中触发按需奴隶
Jenkins trigger on-demand slaves in dockers
我正在寻找一种方法 运行 Jenkins jobs/build 在 Jenkins 奴隶内部,动态(按需)启动 docker。附加模式以进行视觉理解。
我实际上在寻找什么,我的流程是这样的:
1) 触发 Jenkins 作业 (manually/git/gerrit)
2) Jenkins master (运行ning in docker) 启动从机 docker (并传递构建的 script/instructions)
3) 在 Jenkins slave(或 slaves if parallel/pipeline)运行ning 上构建
4) 结果返回给 Jenkins master
5) 詹金斯奴隶 docker 停止
这样可以吗?
使用这个插件:https://wiki.jenkins-ci.org/display/JENKINS/Yet+Another+Docker+Plugin
安装后(需要Java 1.8)naviaget 进行配置。有两个步骤:
- 配置docker"cloud"
- 添加 "instances"(docker 张图片)您想要 运行 在
上构建
每个图像都应该分配标签 - 在你的作业配置中使用这个标签来明确告诉 Jenkins 作业应该在哪个节点上 运行
Docker slave image的创建步骤,如安装openssh,创建用户,下面会提到link。从下面安装 docker 插件 link.
点击here!
转到jenkins全局配置,在云标题下,docker配置将在那里,输入docker主机url和端口号,不需要凭据。为连接超时和读取超时提供一些值。
在docker模板下-输入我们在点号1中创建的docker图像名称。
设置标签编号(在创建 Jenkins 作业时给出此标签名称并限制为此从属名称),
Select 使用选项 -> only build job with label restriction.
No of executor -> minimum 1. Select launch method as ssh, 输入用户凭据登录,这是我们在第1步的docker图像中创建的.
创建一个作业,限制为 docker 从标签,运行,按需启动容器。
我正在寻找一种方法 运行 Jenkins jobs/build 在 Jenkins 奴隶内部,动态(按需)启动 docker。附加模式以进行视觉理解。 我实际上在寻找什么,我的流程是这样的:
1) 触发 Jenkins 作业 (manually/git/gerrit)
2) Jenkins master (运行ning in docker) 启动从机 docker (并传递构建的 script/instructions)
3) 在 Jenkins slave(或 slaves if parallel/pipeline)运行ning 上构建
4) 结果返回给 Jenkins master
5) 詹金斯奴隶 docker 停止
这样可以吗?
使用这个插件:https://wiki.jenkins-ci.org/display/JENKINS/Yet+Another+Docker+Plugin
安装后(需要Java 1.8)naviaget 进行配置。有两个步骤:
- 配置docker"cloud"
- 添加 "instances"(docker 张图片)您想要 运行 在 上构建
每个图像都应该分配标签 - 在你的作业配置中使用这个标签来明确告诉 Jenkins 作业应该在哪个节点上 运行
Docker slave image的创建步骤,如安装openssh,创建用户,下面会提到link。从下面安装 docker 插件 link.
点击here!
转到jenkins全局配置,在云标题下,docker配置将在那里,输入docker主机url和端口号,不需要凭据。为连接超时和读取超时提供一些值。
在docker模板下-输入我们在点号1中创建的docker图像名称。
设置标签编号(在创建 Jenkins 作业时给出此标签名称并限制为此从属名称),
Select 使用选项 -> only build job with label restriction.
No of executor -> minimum 1. Select launch method as ssh, 输入用户凭据登录,这是我们在第1步的docker图像中创建的.
创建一个作业,限制为 docker 从标签,运行,按需启动容器。