【原】Jenkins插件之 Docker-Plugin 将slave运行在docker容器中

1、说明

Jenkins的Master-Slave架构特点可解决多并发任务的负载问题;Master节点提供WebGUI和API功能来管理运行任务,Slave节点运行Master分配的任务;

这也意味着Slave节点可以分布在不同平台并且无需安装Jenkins的完整包。

 

2、配置

jenkins版本:V2.249.1

2.1、添加node节点配置

1、首页-ManageJenkins-ManageNodesAndClouds页面,新建节点操作:

 

 

2、首页-新建自由风格任务选择该Slave节点:

 

 

3、运行:

 

 

 

 2.2、添加Docker节点信息

1、Jenkins首页-ManageJenkins-ManagePlugins页面,下载「Docker plugin」和「Docker Slaves Plugin」两个插件

2、Slave机器,下载docker

1 成功下载
2 
3 docker pull jenkins/ssh-slave

因为docker默认不允许外面链接的,所以要修改配置放开;

1 修改这个文件  /usr/lib/systemd/system/docker.service中的
2  
3 ExecStart=/usr/bin/dockerd  -H fd:// --containerd=/run/containerd/containerd.sock
4  
5 改成下面这个
6 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock
7 
8 然后 systemctl restart docker

设置docker的可执行权限;

1 chmod 666 /var/run/docker.sock

3、Jenkins首页-ManageJenkins-ManageNodesAndClouds页面,ConfigureClouds菜单下-AddANewCloud

4、配置DOCKER CLOUD DETAILS信息;测试Slave机器docker可访问

 

 

 5、配置DOCKER AGENT TEMPLATES信息;

基本信息:

 

 

 

 

容器信息:

 

 

 

 

 

 

 

5、首页-新建自由风格任务选择该Slave节点:

 

 

6、运行:

生成镜像过程

 

执行结果

4、Docker in Docker 

 

参考:https://blog.csdn.net/qq_31977125/article/details/104000507

 

 5、参考

jenkins通过Docker-plugin部署Slave:https://blog.csdn.net/qq_31977125/article/details/82999872

从socket权限重新认识docker架构:https://blog.csdn.net/yanggd1987/article/details/105112939

posted @ 2020-10-14 15:18  Zero116  阅读(648)  评论(0编辑  收藏  举报