# Jenkins教程 - 9 Jenkins集群配置
为什么需要 Jenkins 集群?
Jenkins 集群可以将任务分配给多个服务器,实现负载均衡。当有大量的构建、测试和部署任务需要处理时,集群可以均衡地分担负载,避免单个服务器过载和构建任务等待过长,从而提高系统的稳定性和响应性能。
# 9.1 环境准备
Jenkins 集群,只需要在一台主机安装 Jenkins 就可以了,其他的机器只需要安装构建的环境就可以了,例如构建maven项目,安装maven就可以了。
所以准备4台机器,安装如下环境,参考之前的环境安装,如果机器配置不行,Jenkins 服务器准备2台来集群就行了:
Jenkins 服务器1
安装 Jenkins,Maven,JDK
Jenkins 服务器2
安装 Maven,JDK
Jenkins 服务器3
安装 Maven,JDK
业务服务器4
安装 Docker,这里沿用之前将 SpringBoot 项目部署到 Docker 容器中的环境。
构建任务还是之前的构建任务,只是现在对 Jenkins 进行集群,后面执行多个构建任务的时候,将构建任务分布到多个 Jenkins 服务器上去执行而已。
# 9.2 添加节点
首先添加 Jenkins 集群的多个节点服务器。访问安装了 Jenkins 的服务器,来添加其他节点。
系统管理 --> 节点和云管理
可以看到,现在只有一台主机 master :
然后点击添加节点 :
继续填写信息:
一个节点添加完成了,可以点击列表中的节点,查看节点的状态,可以查看节点日志:
可以通过同样的方式继续添加节点。如果机器性能不够,添加这一个从节点也可以了。
和添加第一个从节点不同的时候,再添加一个从节点,可以选择复制刚才添加的从节点的配置:
点击创建后,显示的信息是否 jenkins-02 复制过来的,注意修改不同的信息,例如节点的 IP
和 标签
。
添加完成节点,可是看到节点列表中节点的状态:
可以等待各个节点的同步状态,同步完成后,可以在各个节点的 /home/doubi
(刚才配置的远程工作目录) 目录下看到 Jenkins 同步了一些文件。
# 9.3 配置构建任务
现在还是执行之前的将 SpringBoot 项目部署到 Docker 容器中的构建任务,其实这里构建任务不重要,自己重新新建一个构建任务也行,这里主要是演示 Jenkins 集群,将构建任务分配到不同的节点上。
现在还需要对任务进行配置,否则构建任务现在还只会在一台机器上执行。
打开构建任务的配置,修改配置并保存,如下:
# 9.4 执行构建
回到任务列表,当多次点击构建任务的时候,会发现多个构建任务被分配到了不同的 Jenkins 节点上来构建。
上面可以看到节点2和节点3的并发执行构建的任务个数是1,因为在新增节点的时候,指定了并发构建任务的个数是1。
# 9.5 指定构建节点
还可以指定构建任务在哪个节点执行。
打开构建任务的配置,在 限制项目的运行节点 配置中进行配置,如下:
上面使用逻辑表达式配置在 jenkins-02
或 jenkins-03
节点运行,那么再次执行构建的时候,就不会在主节点1运行了。
这里指定的节点配置,就是新建节点的时候,节点的标签。