设为首页 收藏本站
查看: 1093|回复: 0

[经验分享] Jenkins+Jmeter+Ant持续集成

[复制链接]

尚未签到

发表于 2018-1-8 20:29:21 | 显示全部楼层 |阅读模式
  Jenkins+Jmeter+Ant持续集成
  前期准备:
  1、Jdk1.6或以上:http://www.oracle.com/technetwork/java/javase/downloads/index.html
  命令行输入:java -version,出现如下提示说明安装成功

  2、ANT下载:http://ant.apache.org/bindownload.cgi。配置环境变量
  命令行输入:ant -v,出现如下提示说明安装成功

  3、Jmeter下载:http://jmeter.apache.org/download_jmeter.cgi
  4、将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中
  5、修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml
  一、Jenkins下载安装
  到官网下载jenkins.war包:http://jenkins-ci.org/。把下载下来的jenkins.war包放到文件夹下,如C:\jenkins,然后打开命令行窗口并进到该目录下,执行java -jar jenkins.war命令,当提示:“Jenkins is     fully up and running”时,表示启动成功,这时在浏览器窗口输入:http://localhost:8080/ 就可到jenkins的首页
  二、修改Jenkins的根目录(可改可不改)
  默认地在C:\user\.jenkins ,可以通过设置环境变量来修改,将JENKINS_HOME设为D:\jenkins,然后重新启动jenkins
  三、安装Jenkins插件
  系统管理-->管理插件-->可选插件:HTML Publisher plugin、Performance plugin
  四、配置JOB
  1. 在Jenkins首页点击【新建】任务的,选择【构建一个自由风格的软件项目】,输入名字后点击【OK】
  2. 增加构建步骤的说明:
  ① Execute Windows batch commnd:这个就是windows命令行参数(默认当前路径是job的workspace,如果命令很多可以写成批处理文件放在job的工作目录下,在这引用就好)
  ② Execute shell:运行shell、python,perl,ruby等脚本
  ③ Invoke Ant:支持Ant构建

  3. 增加构建后操作步骤:可以根据自己的需要选择,常用的是发送邮件,也可以安装jenkins的插件,安装插件后这里会有相应的选项


  此处有坑:
  HTML Publisher Plugin 插件在新的Jenkins版本中会导致打开的网页中无法加载CSS以及无法点击按钮的情况,由于CSP导致,可在Jenkins的系统管理—>脚步命令行中执行:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "") 以解决此问题。其他由于CSP原因导致的html插件也可用此方法解决
  四、保存,构建job
  五、build.xml
  1 <?xml version="1.0" encoding="UTF-8"?>
  2
  3 <project name="ant-jmeter-test"default="run" basedir=".">
  4    <tstamp>
  5        <format property="time" pattern="yyyyMMddhhmm"/>
  6    </tstamp>
  7
  8
  9     <property environment="env"/>
  10      <propertyname="ReportName" value="TestReport" />
  11
  12     <!-- 需要改成自己本地的 Jmeter 目录-->
  13     <propertyname="jmeter.home" value="D:\Jmeter-3.0" />
  14     <!-- jmeter生成jtl格式的结果报告的路径-->
  15     <propertyname="jmeter.result.jtl.dir"value="${env.WORKSPACE}/results/${env.BUILD_ID}" />
  16     <!-- jmeter生成html格式的结果报告的路径-->
  17     <propertyname="jmeter.result.html.dir"value="D:\Jmeter-3.0\demo\report\html" />
  18     <!-- 生成的报告的前缀-->
  19     <propertyname="jmeter.result.jtlName"value="${jmeter.result.dir}/${ReportName}.jtl" />
  20     <propertyname="jmeter.result.htmlName"value="${jmeter.result.dir}/${ReportName}.html" />
  21
  22     <targetname="run">
  23          <echomessage="start..."/>
  24          <antcalltarget="clean" />
  25          <antcalltarget="test" />
  26         <antcalltarget="report" />
  27     </target>
  28
  29     <targetname="clean">
  30          <mkdirdir="${env.WORKSPACE}/results/${env.BUILD_ID}" />
  31     </target>
  32
  33
  34     <targetname="test">

  35         <taskdefname="jmeter">  36         <jmeterjmeterhome="${jmeter.home}"resultlog="${jmeter.result.jtlName}">
  37             <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
  38             <testplansdir="D:\Jmeter-3.0\demo" includes="*.jmx" />
  39
  40               <propertyname="jmeter.save.saveservice.output_format"value="xml"/>
  41
  42         </jmeter>
  43     </target>
  44
  45
  46     <pathid="xslt.classpath">
  47             <filesetdir="${jmeter.home}/lib" includes="xalan*.jar"/>
  48             <fileset dir="${jmeter.home}/lib"includes="serializer*.jar"/>
  49     </path>
  50
  51
  52     <targetname="report">
  53         <tstamp> <formatproperty="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp>
  54       <xslt
  55          classpathref="xslt.classpath"
  56                        force="true"
  57                        in="${jmeter.result.jtlName}"
  58                        out="${jmeter.result.htmlName}"
  59                        style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
  60          <!--param name="showData"expression="${show-data}" /-->
  61           <paramname="dateReport" expression="${report.datestamp}"/>
  62       </xslt>
  63          <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
  64                 <copytodir="${jmeter.result.html.dir}">
  65                     <filesetdir="${jmeter.home}/extras">
  66                         <includename="collapse.png" />
  67                         <includename="expand.png" />
  68                     </fileset>
  69                 </copy>
  70     </target>
  71
  72
  73 </project>
  六、报告优化

  • 添加展示响应数据内容
  • 添加响应数据过长换行功能
  • 编辑jmeter-results-detail-report_21.xsl 查看响应数据,修改为:
  • 需要删除build文件中的showData配置,否则会导致编译出来的仍然不显示

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-433039-1-1.html 上篇帖子: jenkins快速上手指南 下篇帖子: 不断积累,必然飞跃,突破随之!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表