Jenkins分布式构建和测试

作者: gaby666 | 来源:发表于2019-08-03 10:14 被阅读67次

简介

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

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

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

image

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

image

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步骤一致,需要预先安装如下依赖软件和完成如下配置

image

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

image

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

image

新增Slave节点

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

image

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

image

Slave节点上运行SlaveAgent

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

image

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

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

image

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

image

相关文章

  • Jenkins分布式构建和测试

    简介 Jenkins是目前最主流的持续集成工具,通过Jenkins可以自动化代码从变更到上线过程中的多个步骤,实现...

  • 12. Jenkins分布式和Pipeline

    1 Jenkins分布式 1.1 Jenkins分布式的使用场景 在众多 Job 的场景下,单台 jenkins ...

  • Jenkins自动构建部署SpringBoot项目

    Jenkins Jenkins是开源CI&CD软件领导者,是Devops神器,本文介绍Jenkins的安装,自动构...

  • Jenkins发送html邮件模板

    Jenkins的功能很强大,可以处理任何类型构建和持续集成,其中一项特性就是消息通知及发送测试报告,集成RSS/E...

  • iOS+Jenkins持续构建-Sonarqube

    前序步骤:一、《MAC Jenkins安装》二、《iOS持续构建-编译打包上传》三、《iOS+Jenkins持续构...

  • jenkins iOS打包

    jenkins shell命令打包 jenkins的环境搭建和配置就不说了,直接上iOS项目管理搭建 1 jenk...

  • vagrant ubuntu box connect jenki

    情景描述 使用jenkins的分布式构建 设置ubuntu分别作为jenkins master service以及...

  • vagrant ubuntu box connect jenki

    情景描述 使用jenkins的分布式构建 设置ubuntu分别作为jenkins master service以及...

  • 使用jenkins执行性能测试

    jenkins集成jmeter进行定时构建 一、定时执行接口测试、性能测试 二、在jenkins中展示jmeter...

  • jenkins+SonarQube

    1. 为什么使用jenkins和SonarU 以Jenkins为核心,每天定时从代码库中检出最新的代码进行编译、构...

网友评论

    本文标题:Jenkins分布式构建和测试

    本文链接:https://www.haomeiwen.com/subject/bhufdctx.html