【jenkins】主从机制及添加Slave节点操作

本文介绍了如何在Jenkins中使用Master-Slave模式解决资源竞争问题,包括配置多台slave节点,连接和安全设置,以及处理Node配置错误,特别关注了Java版本兼容性问题的解决方法。
摘要由CSDN通过智能技术生成

一、master-slave

日常构建Jenkins任务中,会经常出现下面的情况:

  • 自动化测试需要消耗大量的 CPU 和内存资源,如果服务器上还有其他的服务,可能会造成卡顿或者宕机这样的情况;

  • Jenkins 平台上除了这个项目,还有其他项目需要构建,如果同一时间构建大量的任务会造成多个任务抢占资源的情况。

Jenkins 提供了主从模式(master-slave) 解决这个问题。我们可以为 jenkins 配置多台slave从机,当slave从机和Jenkins服务建立连接之后,由Jenkins发指令给指定的slave从机去运行任务,消耗的资源由slave从机去承担。

二、Node节点

1、添加节点 Manage Jenkins -> Manage Nodes and Clouds -> New Node

  (1)配置Node Name

  (2)配置Agent类型:选择永久模式(Permanent Agent)

  (3)接下来配置Agent信息

  • Name:Slave机器的名字
  • Description:描述 ,不重要 随意填
  • Number of executors:允许在这个节点上并发执行任务的数量,即同时可以下发多少个Job到Slave上执行,一般设置为 cpu 支持的线程数。[注:Master Node也可以通过此参数配置Master是否也执行构建任务、还是仅作为Jenkins调度节点]
  • Remote root directory:用来放工程的文件夹,jenkins master上设置的下载的代码会放到这个工作目录下。
  • Lables:标签,用于实现后续Job调度策略,根据Jobs配置的Label选择Salve Node
  • Usage:选择“Only build Jobs with Label  expressiong matching this Node”
  • Launch method:这里我选择了Launch agent by connecting it to the master

2、添加完成后可以看到节点页面信息

红叉表示此时的Slave并未与Master建立起联系

3、连接从节点

两种方式都可以连接slave从机

  • 1、下载agent插件

  • 2、在命令行执行提示的两段命令

4、全局安全设置 Manage Jenkins——Security

需要注意 Launch method 一定要开启 jenkins 的远程连接端口,否则slave从机无法连接上Jenkins服务。

这种连接用的是 JNLP4 协议, 这种协议是在 WebSocket + TLS 的基础上封装而成的长连接协议。可以在jenkins 的安全设置面板中开启:可以用随机/docker指定的50000

5、项目中应用

任务配置中选择对应slave从机构建

⚠️可能会出现XXX not found错误

解决方案:在node节点配置工具路径

⚠️构建命令,要写全路径 否则会报错 mvn not found

三、Jenkins 添加节点Node报错

Error: A JNI error has occurred, please check your installation and try again

Exception in thread "main" java.lang.UnsupportedClassVersionError: hudson/remoting/Launcher has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

从文字上看第一个错误类型是属于不支持的字节码版本,那就想到当前jenkins默认是用的java 11版本,而目标节点机器上用的java 8,字节码版本不兼容,我试过把这个jenkins的jdk改为11,不行,启动报错,那就只好改目标机器上的java版本了,于是在目标节点机器下载了java 11并把版本选择设置默认为11版本,然后重新laugh Node后节点上线成功。

Jenkins是一个开源的持续集成工具,可以帮助开发人员自动化构建、测试和部署软件。在Jenkins中,可以配置主从节点来分担任务负载,并实现高可用性和水平扩展。 首先,需要在主节点上安装Jenkins,并且确保主节点和从节点的网络互通。接着,在主节点的管理界面中,选择“系统管理”->“节点管理”->“新建节点”,填写从节点的信息,如节点名称、描述等。在启动方法中选择“Launch agent via execution of command on the master”,并在远程根目录中填写从节点的工作目录路径。 在从节点上安装Jenkins的代理程序,并且确保从节点和主节点Jenkins代理程序版本一致。接着,需要在从节点的代理程序配置中填写连接主节点的信息,如主节点的URL和从节点的凭据。保存配置后,在主节点节点管理界面上可以看到新建的从节点,并且可以通过“在线/离线”按钮来控制从节点的连接状态。 当从节点成功连接到主节点后,可以在Jenkins的任务中指定从节点来执行特定的构建或测试任务。在任务配置中,可以通过“限制构建在某个节点上”来选择从节点,这样就可以将任务分发给不同的节点来执行,实现任务并行处理和负载均衡。 总之,通过以上步骤可以成功配置Jenkins主从节点,实现任务的分布式处理和资源的共享利用,从而提高持续集成和交付的效率和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨撕酒家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值