这篇文章主要介绍“怎么快速搭建Jenkins集群”,在日常操作中,相信很多人在怎么快速搭建Jenkins集群问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么快速搭建Jenkins集群”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故障的隐患也有分散作用,今天就来实战快速搭建Jenkins集群,Jenkins版本是2.190.2;
通过Docker可以省去大部分准备工作,您只需在Linux电脑上安装docker,在辅以少量命令和操作即可完成集群搭建;
本次实战的环境一共要用三台电脑,它们的设置都是一样的,如下:
操作系统:CentOS Linux release 7.6.1810
防火墙关闭
docker:1.13.1
三台电脑的信息如下: | 主机名 | IP地址 | 作用 | |--|--|--| | master | 192.168.133.131 | Jenkins集群的master节点,提供web服务 | | agent1 | 192.168.133.132 | Jenkins集群的一号工作接节点,标签是<font color="blue">maven</font> | | agent2 | 192.168.133.133 | Jenkins集群的二号工作接节点,标签是<font color="blue">gradle</font> |
建议agent2节点的内存大于4G,因为下一篇的实战操作会用agent2编译构建spring-framework,对内存的需求略大;
后面的所有操作都是root账号;
在每台电脑上创建文件夹<font color="blue">/usr/local/jenkins</font>
登录master机器,执行以下命令:
docker run \ -u root \ -idt \ --name master \ -p 8080:8080 \ -p 50000:50000 \ -v /usr/local/jenkins:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean:1.19.0
执行<font color="blue">docker logs master</font>,会在控制台显示jenkins的登录秘钥,如下图红框所示:
浏览器输入地址:http://192.168.133.131:8080 ,显示Jenkins登录页面,如下图所示,在红框位置输入刚才复制的登录秘钥即可登录:
选择<font color="blue">安装推荐的插件</font>:
静候插件在线安装完成:
接下来是创建管理员和使用实例url的操作,这里就不多说了,您按实际情况自行斟酌;<br> 至此,Jenkins的master已经搭建好,接下来将agent1和agent2作为工作节点加入集群;
在Jenkins网页上新增节点,操作如下图,先进入节点管理页面:
如下图,新增一个节点,名为<font color="blue">agent1</font>:
接下来的节点详情信息如下图,注意四个红框中的内容要和图中保持一致:
保存成功后会显示机器列表,如下图,图标上的红叉表示机器不在线(此时agent1还没有接入),点击红框:
如下图所示,红框中的命令就是agent1的启动命令,执行该命令的机器会以agent1的身份加入集群:
注意上图红框中的<font color="red">agent.jar</font>是个名为agent.jar的文件的下载链接,将此文件下载到agent1电脑的<font color="blue">/usr/local/jenkins</font>目录下;
ssh登录agent1电脑,执行以下命令,即可将agent1加入Jenkins集群:
docker run \ -u root \ -idt \ --name agent \ -v /usr/local/jenkins:/usr/local/jenkins \ bolingcavalry/openjdk-with-sshpass:8u232 \ java -jar /usr/local/jenkins/agent.jar \ -jnlpUrl http://192.168.133.131:8080/computer/agent1/slave-agent.jnlp \ -secret 44c3e8d1531754b8655b53294bbde6dd99b3aaa91a250092d0d3425534ae1058 \ -workDir "/usr/local/jenkins"
上述命令中的后半部分,即<font color="blue">java -jar ......</font>就是前面图片红框中的agent1启动命令,唯一要改变的是将<font color="blue">agent.jar</font>改成绝对路径<font color="blue">/usr/local/jenkins/agent.jar</font> 8. 上述命令的镜像是<font color="blue">bolingcavalry/openjdk-with-sshpass:8u232</font>,其Dockerfile内容如下,可见非常简单,就是OpenJDK镜像里面安装了sshpass,这样的容器可以在执行ssh命令时带上远程机器的密码,而不用等待用户输入密码,这样便于shell脚本执行ssh命令:
FROM openjdk:8u232 ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install --assume-yes sshpass
去Jenkins的网页上查看节点列表,如下图,可见agent1已经成功加入:
agent2加入集群的方式和agent1大部分是一样的,只有以下两点要注意:
在Jenkins页面上创建节点,名称是<font color="blue">agent2</font>
agent2的标签是<font color="blue">gradle</font>,如下图红框所示:
此时agent2也加入成功:
到此,关于“怎么快速搭建Jenkins集群”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。