今天分享服务搭建第二篇:Jenkins+Jmeter+Ant自动化集成(服务)


一、Ant 服务配置

1、配置报告模板和 ant build

确定脚本的目录,当前放在Jmeter 目录下

#cd /usr/local/apache-jmeter-3.1
#mkdir script**cp 脚本到此目录,后续集成git可自动 clone 脚本到此目录**

1、将 Jmeter extras目录下的 ant-jmeter-1.1.1.jar 文件拷贝到ant安装目录下的lib文件夹中

2、配置ant 编译文件 build.xml ,linux下注意文件路径的写法为“/”

文件路径:/usr/local/apache-jmeter-3.1/extras

3、测试报告优化 : jmeter-results-shanhe-me.xsl[1] 拷贝到 jmeter 的 extras 目录中

注:jmeter-results-shanhe-me.xsl 文件名需要与build.xml中的名称保持一致

“此处附上xml文件内容!”

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir="."><tstamp><format property="time" pattern="yyyyMMddhhmm" /></tstamp><!-- 需要改成自己本地的 Jmeter 目录-->  <property name="jmeter.home" value="/usr/local/apache-jmeter-3.1" />
<!-- 此配置是本地目录配置,注释掉 --><!-- jmeter生成jtl格式的结果报告的路径--><!--property name="jmeter.result.jtl.dir" value="/usr/local/apache-jmeter-3.1/reports/jtl" /--><!-- jmeter生成html格式的结果报告的路径--><!--property name="jmeter.result.html.dir" value="/usr/local/apache-jmeter-3.1/reports/html" /--><!-- 此配置用于Jenkins中自动发送报告的位置,位于Jenkins仓库下的Job目录  --><!-- jmeter生成jtl格式的结果报告的路径--><property name="jmeter.result.jtl.dir" value="/var/lib/jenkins/workspace/Interface_automation_gitlab/TestReports/jtl" /><!-- jmeter生成html格式的结果报告的路径--><property name="jmeter.result.html.dir" value="/var/lib/jenkins/workspace/Interface_automation_gitlab/TestReports/html" /><!-- 生成的报告的前缀-->  <property name="ReportName" value="Cobb_TestReport" /><property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /><property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" /><!-- 新增行--><!-- 输出生成的报告名称和存放路径--><echo message="${jmeter.result.jtlName}"/><echo message="${jmeter.result.htmlName}"/><echo message="${jmeter.result.html.dir}"/><!--新增行--><!--加载jar包,解决显示时间问题-->  <path id="xslt.classpath">  <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>  </path><target name="run"><antcall target="test" /><antcall target="report" /></target><target name="test"><taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /><jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"><!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本--><!--未使用Git前,可以指定目录拉取本地的脚本执行--><testplans dir="/usr/local/apache-jmeter-3.1/script/" includes="*.jmx" /><property name="jmeter.save.saveservice.output_format" value="xml"/></jmeter></target><path id="xslt.classpath"><fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/><fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/></path><target name="report"><tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>    <xslt               classpathref="xslt.classpath"force="true"in="${jmeter.result.jtlName}"out="${jmeter.result.htmlName}"style="${jmeter.home}/extras/jmeter-results-shanhe-me.xsl" />  <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --><copy todir="${jmeter.result.html.dir}"><fileset dir="${jmeter.home}/extras"><include name="collapse.png" /><include name="expand.png" /></fileset></copy></target>
</project>

4、设置测试输出报告要输出的内容

修改配置文件 /usr/local/apache-jmeter-3.1/bin/jmeter.properties 中

jmeter.save.saveservice.output_format=csv 为 jmeter.save.saveservice.output_format=xml

并去掉其中部分需要用到的注释行注释

5、运行 ant

注:

  1. build.xml <?xml version="1.0" encoding="UTF-8"?>前面不要有任何其他字符,如空格、回车、换行,否则会报错!
  2. 需要在build.xml目录中运行

二、Jenkins 服务配置

在上一篇分享中,Jenkins已经安装完毕,并且已经创建好了账户,下面将详细介绍服务的相关配置。

 Username:xinghaiPassword:123456

  • 全局配置

1、配置 jdk 和 ant 、Gitlab //注意路径,否者不生效(java的路径是/usr/java下)

Manage Jenkins -->Global Tool Configuration // Jdk & Ant

Manage Jenkins -->Configure System // Gitlab

Access Token ID (kv_c8_spuWvaYt614D_A)

Gitlab Account Setting : 登录Gitlab的账号密码

2、显示中文

1)在插件管理中(Manage Plugins)搜索 “Local”并安装

2)Manage Jenkins-->Configure System,找到Local 默认语言输入:zh_CN

3、邮件配置

参照《篇四、Jenkins设置Gitlab邮件服务详解》


  • Job配置

一、新建 Job 任务

1、Jmeter + Ant (未集成Gitlab)

注:1)选择Ant Version,2)Build File 输入build.xml文件的位置 3)保存后进行构建

2、Jmeter + Ant + Gitlab

邮件配置 具体参照《四、Jenkins设置Gitlab邮件服务详解》

构建触发器:

Build periodically 定时构建

构建触发器可以根据自己的需求选择,由图看到有四种类型:

(1)可使用脚本触发远程构建;

(2)其他job构建完成后触发当前job执行构建;

(3)定时周期性构建;

(4)hookplugin检测到源码的push操作就触发构建;

(5)定时检查代码分支是否有变化,如果有变化则执行一次构建。

我的目的是做接口测试自动化,每天定时跑任务并监控API功能是否正常,所以选择Build periodically(定期构建)。日程表一共五个参数:

从左到右分别代表:分 时 天 月 星期

第一个参数代表的是分钟minute,取值0~59;

第二个参数代表的是小时hour,取值0~23;

第三个参数代表的是天day,取值1~31;

第四个参数代表的是月month,取值1~12;

第五个参数代表的是星期week,取值0~7,0和7都代表星期天。

0 7 * * 1,3,5 表示每周一、周三、周五的7点00分执行一次,*代表所有。

第二阶段完成.......

美丽人生:服务搭建篇三·Jenkins+Jmeter+Gitlab持续集成实现接口流程自动化​zhuanlan.zhihu.com


参考

  1. ^网上均可下载,也可私信我获取!

自动生成html_服务搭建篇二·Jenkins+Jmeter+Gitlab持续集成实现接口流程自动化相关推荐

  1. Linux上快速搭建Jenkins服务器 实现持续集成开发

    http://my.oschina.net/long0419/blog/183299 简介: 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础.Jenkins 是一个开 ...

  2. git jenkins 子目录_持续集成高级篇之Jenkins Pipeline git拉取

    PipeLine中拉取远程git仓库 前面讲自由式任务的时候,我们可以看到通过自由式job里提供的图形界面配置git拉取非常方便的,实际上使用PipeLine也并不复杂.这一节我们展示一下如何在Pip ...

  3. 构建基于Jenkins + Github的持续集成环境

    登录 | 注册 John_cdy的专栏 学无止境 目录视图 摘要视图 订阅 有奖征资源,博文分享有内涵 6月推荐文章汇总 CSDN博文大赛初赛晋级名单公布 关注CSDN社区微信,福利多多 构建基于Je ...

  4. GitLab + Jenkins + Sonar Qube 持续集成

    GitLab + Jenkins + Sonar Qube 持续集成 一. 持续集成 二. 持续交付 三. 持续部署 四. 持续集成的实施流程 五. gitlab 5.1 gitlab安装配置 5.1 ...

  5. Jenkins——Jenkins介绍+基于云平台的Jenkins安装和持续集成环境配置(插件+用户权限+凭据+Maven打包)

    Jenkins--Jenkins介绍+基于云平台的Jenkins安装和持续集成环境配置(插件+用户权限+凭据+Maven打包) 持续集成及Jenkins介绍 软件开发生命周期 什么是持续集成? 持续集 ...

  6. Jenkins与Allure持续集成

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 通过Jenkins与Allure的集成,可以 ...

  7. jenkins+k8s实现持续集成

    持续集成(CI) 集成是指开发人员将代码提交到git或svn 持续集成是指让开发人员持续提交代码,写一点就提交一点,这样就会更早的发现代码差异 每次集成,都可以通过自动化的构建来验证 自动化构建包括: ...

  8. Jenkins多环境持续集成架构实践

    作者:滴答的雨 出处:http://www.cnblogs.com/heyuquan/ Jenkins多环境持续集成架构实践 自动化部署主要是为了解决项目多.环境多.持续集成慢.部署操作麻烦.手动操作 ...

  9. Jenkins安装和持续集成环境配置

    Jenkins安装和持续集成环境配置 持续集成说明 Jenkins安装 Jenkins插件管理 下载中文汉化插件 Jenkins用户权限管理 安装Role-based Authorization St ...

最新文章

  1. Java序列化bean保存到本地文件中
  2. 【面向工业界】推荐算法工程师培养计划
  3. PyTorch中的数据输入和预处理
  4. 8、python基础知识-用户输入
  5. 【Linux系统编程】进程内存模型
  6. Java学习笔记1:Java中有关print、println、printf的用法和区别
  7. 九度 1532:棋盘寻宝扩展(背包方案统计)
  8. OpenGL超级宝典(第7版)之第八章基元处理
  9. 查看计算机数字证书,数字证书认不到怎么办?
  10. 42步进电机转速力矩曲线_42步进电机转速范围说明(28步进电机转速测试)
  11. C# 阿里云视频点播
  12. 【计算理论】非确定性有限自动机 ( NFA ) 转换成 确定性有限自动机 ( DFA )
  13. 操作系统实验: 进程管理
  14. 140套高清、超优秀的PPT模板----毕业设计、毕业答辩主题
  15. 《软件工艺》目录—导读
  16. 复选框的全选、全不选、和获取选中的值;
  17. Neutrino追问®AMA第7期|imToken商务总监:我们正在集成通过蓝牙安全使用的硬件钱包
  18. C#由于从未加载设计器
  19. Ubuntu 20安装 Qt5.9
  20. 干货!2019年你确定要错过这份优秀Web字体清单吗?

热门文章

  1. 微积分经典概念:极限、连续与函数
  2. c语言switch case ppt,C语言-09switch-case多分支开路语句.ppt
  3. 自学python后自己接单-自学Python 后端一年半,如何写简历包装自己得到面试机会?...
  4. python怎么读取excel-python对Excel的读取
  5. python菜鸟教程-Python3 函数
  6. iOS 10 的 Speech 框架实现语音识别 (Swift)
  7. 空间说说秒赞java_人生靠反省,Java靠泛型
  8. php urldecode 加号不显示_php|urldecode urlencode 的加号问题
  9. x264源代码简单分析:x264_slice_write()
  10. python 在线编程 实现_Python进阶开发之网络编程,socket实现在线聊天机器人