单台Jenkins服务器可以满足企业测试环境及生产环境使用Jenkins自动部署+测试平台,如果每天更新发布多个WEB网站,Jenkins需要同时处理很多的任务。

基于Jenkins分布式,也即多Slave方式可以缓解Jenkins服务器的压力,Jenkins多实例架构如下图所示,可以在Windows、Linux、MAC等操作系统上执行Slave。

jenkins 多个主机集群 jenkins 多配置项目_Jenkins

            Jenkins Slave架构图

Jenkins多Slave原理是将原本在Jenkins Master端的构建项目分配给Slave端去执行,Jenkins Master分配任务时,Jenkins Master端通过SSH远程Slave,在Slave端启动slave.jar程序,通过Slave.jar实现对网站工程的构建编译以及自动部署。所以在Slave端服务器必须安装Java JDK环境来执行Master端分配的构建任务。配置多Slave服务器方法和步骤如下:

(1) 在Slave服务器,创建远程执行Jenkins任务的用户,名称为jenkins,Jenkins工作目录/home/Jenkins,Jenkins Master免秘钥登录Slave服务器或者通过用户名和密码登录Slave;

(2) Slave服务器安装JAVA JDK版本,并将其软件路径加入系统环境变量。

(3) Jenkins master端平台添加管理节点,系统管理à管理节点à新建节点à输入节点名称,分别如下图所示:

jenkins 多个主机集群 jenkins 多配置项目_jar_02

           Jenkins Slave配置

jenkins 多个主机集群 jenkins 多配置项目_jenkins 多个主机集群_03

           Jenkins Slave配置

jenkins 多个主机集群 jenkins 多配置项目_jenkins 多个主机集群_04

          Jenkins Slave配置

(4) 配置www_slave节点,指定其Jenkins编译工作目录,设置IP地址,Credentials Add添加登录Slave用户名和密码,如下图所示:

jenkins 多个主机集群 jenkins 多配置项目_jenkins 多个主机集群_05

           Jenkins Slave配置

 

jenkins 多个主机集群 jenkins 多配置项目_jar_06

           Jenkins Slave配置

(5) Jenkins Slave配置完毕,查看SLAVE状态如如图22-31所示:

jenkins 多个主机集群 jenkins 多配置项目_服务器_07

            Jenkins Slave状态信息

(6) 单击www_slave节点,然后选择launch salve agent,单击测试Slave Agent是否正常工作,如图22-32所示:

 

jenkins 多个主机集群 jenkins 多配置项目_jenkins 多个主机集群_08

           Jenkins Slave Agent测试

(7) 出现如下图所示,即证明Slave添加成功:

jenkins 多个主机集群 jenkins 多配置项目_jar_09

           Jenkins Slave测试

jenkins 多个主机集群 jenkins 多配置项目_Jenkins_10

            Jenkins Slave测试

(8) 如上配置完毕,Jenkins-master通过ssh方式来启动slave的slave.jar脚本,java –jar slave.jar,Slave等待master端的任务分配,单击www.jfedu.net,然后选择立即构建,如下图所示:

jenkins 多个主机集群 jenkins 多配置项目_Jenkins_11

            Jenkins Slave构建任务

(9) Jenkins+Slave配置完毕后,如果同时运行多个任务,会发现只会运行一个任务,另外的任务在等待,那需要怎么调整呢,需要配置JOB工程勾选“在必要的时候并发构建”即可,如图22-35(a)、22-35(b)所示:

jenkins 多个主机集群 jenkins 多配置项目_jar_12

             图22-35(a) Jenkins Slave构建多任务

jenkins 多个主机集群 jenkins 多配置项目_jenkins 多个主机集群_13

           Jenkins Slave构建多任务