# 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-02jenkins-03 节点运行,那么再次执行构建的时候,就不会在主节点1运行了。

这里指定的节点配置,就是新建节点的时候,节点的标签。