一文教会你Jenkins 主从模式实现分布式自动化测试

背景

日常构建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,配置参考如下:

需要注意 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节点已连接上:

注意: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在从机上对应的路径

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值