一文教会你Jenkins 主从模式实现分布式自动化测试
创始人
2025-06-01 17:54:27
0

目录

背景

添加Slave节点

连接Slave节点

Jenkins任务配置Slave节点执行

可能碰到的问题


背景

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

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

(2)Web自动化测试代码需要在不同浏览器上面执行(兼容性测试),或者自动化测试代码比较多,执行速度非常缓慢。

Jenkins 提供了主从模式(Master/Slave) 解决这个问题。Master/Slave相当于Server与Agent。通过Master我们可以关联多个Slave从机来为不同的任务或相同的任务的不同配置服务。

默认我们使用Jenkins Master来构建任务。我们可以为Jenkins 配置多台Slave从机,当Slave从机和Jenkins服务建立连接之后,由Jenkins发指令给指定的Slave从机去运行任务,消耗的资源由Slave从机去承担。

添加Slave节点

在Jenkins中,Master和Slave都称为Node(节点),我们可以在Jenkins中配置多个Slave 节点。

进入Jenkins首页,选择Manage Jenkins -> Manage Nodes and Clouds -> New NodeManage Jenkins -> Manage Nodes and Clouds -> New Node,配置参考如下:

                      2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+icon-default.png?t=N176https://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75

需要注意 Launch method 一定要开启 Jenkins的远程连接端口,否则Slave节点无法连接上Jenkins服务。这种连接用的是 JNLP4 协议, 这种协议是在 WebSocket + TLS 的基础上封装而成的长连接协议。可以在 Jenkins 的安全设置面板中开启:进入Jenkins首页-> Configure Global Security,选择如下配置

连接Slave节点

进入到Nodes管理页面,从Jenkins首页->Manage Jenkins->Manage Nodes and Clouds进入:

可以看到我们可以通过两种方式将Slave节点连接上Jenkins:

(1)Launch agent from browser在从机中通过浏览器方式启动

(2)Run from agent command line 在从机中通过运行命令行方式驱动

1. 浏览器方式连接

在需要作为从机的主机上通过浏览器访问上述页面,点击Launch图标将会在下载一个名为slave-agent.jnlp文件,下载完毕双击打开,初始化之后会显示已连接:

再次进入到节点管理页面,此时Jenkins显示Slave节点已连接上:

            2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+icon-default.png?t=N176https://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75

注意:Jenkins连接Slave节点需要一段时间,不会立即更新连接状态,我们需要多等待下。

2. 命令行方式连接

点击蓝色“agent.jar”链接,会下载一个名为agent.jar文件:

按照上述提示,在命令行终端输入对应命令,最后会提示已连接。

Jenkins任务配置Slave节点执行

进入到任务配置页面中,选择General对应配置指定对应从机:

再次构建任务通过Console Ouput控制台输出可以看到任务已经由Jenkins调度从机执行:

可能碰到的问题

在Jenkins任务开始构建之后发现出现如下的错误信息:

问题发生原因:

因为任务是在Slave节点执行,所以Jenkins需要Slave节点的环境变量(包括Git、JDK等等),而Jenkins 默认使用的是本身宿主机的环境变量。

解决方案:

进入到Slave节点的配置页面中,选择Node Properties -> Tool Locations,指定Git及JDK在从机上对应的路径

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+icon-default.png?t=N176https://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75

 

相关内容

热门资讯

英国商界人士:美关税政策成跨国... 近日,多名英国商界人士表示,美国关税政策加剧全球经济不确定性,成为跨国企业运营中的“关键障碍”。英国...
苹果对欧盟要求开放生态系统的指... 苹果已对欧盟要求其向Meta、谷歌母公司Alphabet等竞争对手开放封闭生态系统的命令提出法律挑战...
早知道:特朗普称将把进口钢铁关... 人民财讯6月3日电,商务部回应美方无端指责:敦促美方与中方相向而行,共同维护日内瓦经贸会谈共识;美国...
美国《纽约时报》:美国警力不足... 美国《纽约时报》5月30日文章,原题:美国公共安全领域正在掀起革命浪潮 过去几年,美国警务工作发生了...
常德首部物业服务地方性法规6月... 华声在线6月2日讯(全媒体记者 黄琼)5月30日,常德市召开《常德市住宅小区物业服务监督若干规定》(...
省人大新法规发布会首次开到基层... 本报讯 (记者 陈月飞) 5月30日,省十四届人大常委会第十五次会议全票通过《江苏省预防化解矛盾纠纷...
“人社惠企贷”政策又升级 小微企业经营遇到资金困难怎么办?河北“人社惠企贷”能帮您。据河北新闻联播报道,我省推出多项稳岗促就业...
南方电网电力科技股份有限公司 ... 证券代码:688248 证券简称:南网科技 公告编号:2025-016 南方电网电力科技股份有限公司...
加快促就业政策落实落地 教育部... 进入毕业季,教育部要求各地加快促就业政策落实落地,千方百计迅速拓展一批吸纳高校毕业生就业的新岗位,全...
深圳海关“政策+科技”双支撑 ... 当前,全球贸易形势复杂多变,作为外贸大省的重要窗口,深圳海关积极作为,以智慧监管为抓手,以精准服务为...