• Jmeter(二十六)Jmeter-Question之“集成Jenkins”


      Jenkins,最初被称为Hudson,是一个Java语言编写的开源持续集成工具。Jenkins在持续集成领域的市场份额居于主导地位,其被各种规模的团队用于各种语言和技术的项目中,比如.net。ruby。Groovy。Java等。

      Jenkins的用户界面非常简单、直观、增加了视觉上的吸引力,其次具有良好的扩展性,能够及其灵活和方便的迎合你的想法。它有数以百计的开源插件可供使用,而且每周都有更多的插件贡献进来。这些开源插件覆盖系统的版本控制、构建工具、代码质量度量、构建通知、外部系统集成、用户界面定制化、游戏等。        ---摘自<Jenkins权威指南>

      Jenkins作为一款优秀的集成工具,是非常成功的。从单方面的简洁GUI、功能等优秀特点,更多的是迎合了现今软件的开发模式以及管理模式,本人有了解,在去年的一场Jenkins的技术分享会上,有提到Jenkins的插件已经达到1340多个,真是一个恐怖的数字。因此,称之它为一手插件堆起来的功能,一点也不为过。

      当然,Jenkins优秀归优秀,那么它能帮我们来干什么呢?Jmeter又如何和Jenkins进行相互‘沟通’进行工作呢?

      (具体Jenkins的安装方式便不在记了)

      自3.0起Jmeter,已经有了丰富的图表展示,之前的话是用借用ant进行构建,ant生成图形报表,而3.0以后,可以直接显示自己的图表,便不必要(当然也是也可以的,后续记上)去加ant。

      其具体的实现方式还是Jmeter的no GUI方式运行,使用Jenkins的插件将Jmeter生成的图表展现出来。OK,上例子。

      

      使用GUI界面进行调试,线程10,10s内启动,循环10次,一个Sampler,有100次Sampler进行请求。

      执行命令,如图,运行生成jtl、log文件

      

      加上-e -o参数(及相应路径)生成Jmeter自带的html报告

      

      

      OK、我这个是执行过的,报告也展现了出来。

      那么Jenkins上是怎么玩的呢?直接上Demo。

      

       直接新建一个自由风格的project。

      源码管理、构建触发器暂且用不到(作为一个简单的demo)

      直接构建、选用插件Execute Windows batch command;(因为我的tomcat在本地搭建,本地为windos环境,因此会选用该插件,如若为linux,先用Excute shell即可)

      

      上方在终端命令行中运行的命令直接放入该插件。

      

     首先先将本地的jmx文件以Jenkins进行运行一遍,并输出jtl、log的日志文件。

    保存并点击“立即构建”

     构建成功,红色即失败。

    查看本次构建的日志信息。

    可以看的出来,本地文件是构建成功的,再至本地日志存放目录,查看日志文件是否生成。

    日志文件也是生成了。可使用Jmeter的监控器(结果树等)进行查看日志信息。

    OK,再进行加入生成report的参数-e、-o进行生成可视化报告。

    立即构建。

    至本地查看该report文件是否生成。

     截至此处,使用Jenkins进行构建Jmeter工程并生成各种日志文件已经完成。

    肯定还是有困惑的,那就是直接在Jenkins查看它的日志报告,Jenkins是完全支持的。

    很eazy,增加构建后操作:

    插件Publish HTML reports进行查看。

    OK,接着构建。

    可以看到该结果是成功的,那么至Jenkins目录HTML Report进行查看该报告。

     什么鬼,竟然什么信息都查看不到?

    网上有相关问题的回答。不过此处也记录一下,这是由于Jenkins的安全机制,将css等页面渲染信息都进行了拦截,可以打开F12,开发者工具进行查看拦截的信息。

    那么也是有解决方案的。

    有暂时解决方案,也有一劳永逸的解决方案。

    整理了一下方案,大致有三种:

      1、如果Jenkins是在Tomcat下进行搭建的,那么可以直接修改Tomcat的启动文件参数(具体本人并未实现)

      2、使用Jenkins的脚本命令行工具,加一段Groovy代码“System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")”

        该方案为暂时性解决方案,本次构建可以进行生效,可是当重启一次Jenkins便会失效,重新加入该段代码。

      3、在构建过程中加入一个步骤Execute system Groovy Script,输入“System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")”代码段,便可一劳永逸,即使重启,该段功能也不会失效。

    在此,便使用第三种方案进行实现。

      

    OK,再进行构建一次,查看HTML Report。

     嗯哼、将数据展现了出来。

    收工~~~看书。

     对了、如果在windows的环境下,须将Jenkins的工作目录等移动至其他目录(尽量不要放在C盘下),C盘为系统盘,涉及各种权限,工作目录在C盘下进行构建的话,有时会出现,本地的日志文件等全部都生成了,但是Jenkins的构建结果就是失败,报一系列莫名其妙的错误~~

    至于Jenkins移动工作目录,很eazy,添加环境变量、工作目录迁移即可,百度一下更精彩! 

       

  • 相关阅读:
    hello
    1234566i 还是规范
    萨嘎给
    DRF 商城项目
    DRF 商城项目
    DRF 商城项目
    Windows 上连接本地 Linux虚拟机上的 mysql 数据库
    xadmin 数据添加报错: IndexError: list index out of range
    python 实现聊天室
    xadmin 组件拓展自定义使用
  • 原文地址:https://www.cnblogs.com/richered/p/8534731.html
Copyright © 2020-2023  润新知