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