跳转至

Jenkins 分布式多节点

  1. Jenkins 是构建一个 Job 通过一系列配置来实现一键操作或构建定时任务。

  2. 当使用 Jenkins 构建的项目规模变大后,单个 Jenkins 服务可能无法应付负载,导致构建任务积压,甚至导致服务器不稳定。例如,在公司中可能有成百上千个项目需要在 Jenkins 上进行构建部署,包括开发、测试和生产环境。每次代码提交都会触发构建操作,这会给单个 Jenkins 服务带来很大压力。为了解决这个问题,可以通过增加 Jenkins 构建节点并让主节点进行调度,将构建任务分散到不同节点来提高系统的稳定性和效率。

  3. 频繁的构建部署是为了实现持续交付中的快速产品交付理念。高效率的研发团队通常会采取快速迭代的方式交付产品。在互联网行业,很少有团队一年半载才交付一次产品的情况。

  4. 配置 Jenkins 节点相对简单,需要准备好用作 Jenkins 构建节点的服务器,并确保节点上安装了必要的工具,例如 Java 开发工具链(如 JDK、Maven 和 Gradle)。构建所需的工具不一定需要在节点上单独安装,可以在 Jenkins 主节点上进行配置。

image-20240701151318776

从节点是不需要安装 Jenkins,只需要安装 jdk、版本管理工具(git/svn)、构建所需工具即可(这种方式是从节点安装 jar 工具包,从节点运行命令来链接主节点)

1. 开启代理功能

Dashbord -> Configure Global Security 中开启代理功能,选择随机端口

image-20240701112657887

2. 创建代理节点

image-20240701150443871

image-20240701150220445

3. 连接节点

1. 从节点安装 java 环境
apt update && apt install  openjdk-17-jdk -y

4. 下载 agent 并连接主节点

image-20240701132026822

1. 连接
echo fsadfadsfsdafdsafdsafsdafdsafsfsafdsafsdfasfsa > secret-file ; curl -sO https://<host>/jnlpJars/agent.jar ; java -jar agent.jar -url https://<host> -secret @secret-file -name "linux-192.168.3.100" -workDir "/opt/jenkins"

5. 成功响应

image-20240701132745646