为了账号安全,请及时绑定邮箱和手机立即绑定

Jenkins实现分布式构建和测试

Jenkins是目前最主流的持续集成工具,通过Jenkins可以自动化代码从变更到上线过程中的多个步骤,实现快速迭代。除了加速构建,通过Jenkins也可以实现测试的持续集成:

• 开发变更代码并提交到Git/SVN等仓库,Jenkins识别到开发代码的变更,按配置进行手动或者自动更新待测应用对应的Jenkins工程

• 测试人员新增待测应用对应的自动化测试工程,通过Hook和待测应用Jenkins工程关联起来,一旦识别到待测应用工程有更新就开始运行自动化测试的工程,进行API,UI等自动化测试,生成测试报告并发送邮件给干系人

https://img1.sycdn.imooc.com//5cf886040001c53107230388.jpg

在实际应用中,尤其是随着分布式和微服务的流行,企业通常有多套测试环境,同时可能有数十个甚至上百个构建请求,单节点的Jenkins不足以支撑这些构建需求,造成大量的构建请求等待和时间浪费。基于这种情况Jenkins提供了Master Slave机制,Master负责调度任务和发送请求,多个Slave可以并发的执行构建任务,大大加速了构建过程。Jmeter Master Slave机制除了可以加速构建以外,还可以用于分布式的自动化测试,当自动化测试代码非常多或者是需要在多个浏览器上并行的时候,可以把测试代码划分到不同节点上运行,从而加速自动化测试的执行。

https://img1.sycdn.imooc.com//5cf886120001c0ee05490213.jpg

Jenkins Master Slave的搭建需要至少两台机器,一台Master节点,一台Slave节点(实际生产中会有多个Slave节点)。Jenkins分布式环境搭建步骤如下:

• Master节点上安装和配置Jenkins

• Master节点上新增Slave节点配置,生成Master-Slave通讯文件SlaveAgent

• Slave节点上运行SlaveAgent,通过SlaveAgent实现和Master节点的通讯

• Master节点上管理Jenkins项目,指定Slave调度策略,实现Slave节点的任务分配和结果搜集

Master节点上安装和配置Jenkins

Master节点上安装配置Jenkins和单机安装配置Jenkins步骤一致,需要预先安装如下依赖软件和完成如下配置

https://img1.sycdn.imooc.com//5cf8862400010a3510800430.jpg

完成上述配置以后,进入系统设置,设置Master的JenkinsLocation,这个Location设置制定了SlaveAgent的配置信息。

https://img1.sycdn.imooc.com//5cf8863200013ea105540172.jpg

进入系统设置,设置Slave节点上的JDK或者Maven运行依赖

https://img1.sycdn.imooc.com//5cf88643000192c005540220.jpg

新增Slave节点

进入节点设置,按如下信息配置Slave节点

https://img1.sycdn.imooc.com//5cf886520001066405540314.jpg

保存激活节点,下载SlaveAgent文件

https://img1.sycdn.imooc.com//5cf886aa00012a4e05540312.jpg

Slave节点上运行SlaveAgent

需要在Slave机器上运行此agent,通过agent实现和Master的通讯,下载Slave以前需要确定Jenkins Location的URL配置正确。运行成功以后出现Connected提示,需要保持此窗口是开启状态,如果关闭此窗口Master和Slave的通讯会中断。

https://img1.sycdn.imooc.com//5cf886c00001f79e02410143.jpg

Master节点新建项目并指定节点分配策略

Master节点上打开Jenkins管理控制台新建项目,代码仓库/构建策略/构建前步骤/构建后步骤和普通项目一致,仅需要指定Slave任务分配策略。此处通过节点的label标签来关联节点,强制指定节点在slave1标签上运行,一个标签可以关联多台不同命名的slave机器。

https://img1.sycdn.imooc.com//5cf886ca00013e8005540317.jpg

项目构建完毕,点击运行,可以通过Dashboard查看任务在不同节点的运行情况。

https://img1.sycdn.imooc.com//5cf886db0001fdcf05540288.jpg


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
软件测试工程师
手记
粉丝
51
获赞与收藏
91

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消