一.前言
Jenkins是当下比较流行的一款功能强大的持续集成工具,它支持搭建集群,来提高多项目的构建速度,模式为主从模式,master会将任务分配到各个从节点进行并发构建,从而提高速度,下面介绍一下如何搭建Jenkins集群。
二.环境介绍
系统环境:CentOS 7.2
Jenkins版本:2.121.1 长期支持版
两台服务器,一台作为master,一台作为slave,设A为master,设B为slave。
关于Jenkins的安装,根据个人使用过一段时间来说,不推荐使用docker来安装,推荐直接安装。Jenkins只需要装在master即可。Jenkins的安装教程:https://yq.aliyun.com/articles/609884
三.从节点的环境准备
根据你是用的源代码管理工具git或者svn来安装对于的工具,还有需要安装可能会构建的项目所需的环境,比如.NET Core 项目就需要安装 .NET Core SDK,JAVA项目就需要安装JAVA环境。从节点无需安装Jenkins。
1.确保Master和Slave之间能相互通信。
2.master执行以下shell命令,确保master能通过ssh登录slave
#生成秘钥 生成以后我这里保存在 /root/.ssh/id_rsa 记住这个位置
ssh-keygen
#将秘钥发送到slave 此过程会输入slave密码
ssh-copy-id <从节点用户一般为root>@<从节点ip>
#执行ssh命令进行登录
ssh <从节点用户一般为root>@<从节点ip>
四.建立结点
打开Jenkins -> 系统管理 -> 管理节点 -> 新建节点
按图中标记的顺序来操作,输入结点名称,选择固定结点类型,然后点击OK按钮。
五.配置节点
结点名称:随意填
描述:随意填
并发构建数:同时进行构建的最大数量,我这里设置为2
工作目录:从节点上的jenkins工作目录,权限要给足。
标签:随意填,我们将项目关联到节点时,可以根据标签来。
用法:选择“尽可能的使用这个节点”,相当于设置结点优先级。
启动方式:“Launch slave agent via SSH”,使用SSH由master连接到slave来执行任务
主机:slave的ip
Credentials:见后文
Host Key Verification Strategy :Manually trusted key Verification Strategy
Require manual verification of initial connection :选中
可用性:尽量保持在线
工具位置:不设置
环境变量:不设置
Credentials 的设置
点击“Add"按钮,选择"Jenkins"
按照上图进行设置,设置以后,在界面上选择你刚刚设置的凭据。
最后点击“添加”按钮,便完成了对slave的添加。
六.验证连接从节点
由于上面我们使用了“Manually Trusted Key Verification Strategy”策略,所以,这里我们需要手动验证一下从节点的身份。
点击我们刚刚新建的从节点 -> 点击【Trust SSH Host Key】,点击【是】:
点击【Launch agent】:
配置完成的节点列表:
在左侧会显示:
七.Job和slave的关联
在Job配置,进行如何设置即可。