自动生成html_服务搭建篇二·Jenkins+Jmeter+Gitlab持续集成实现接口流程自动化
今天分享服务搭建第二篇: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
注:
- build.xml <?xml version="1.0" encoding="UTF-8"?>前面不要有任何其他字符,如空格、回车、换行,否则会报错!
- 需要在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
参考
- ^网上均可下载,也可私信我获取!
自动生成html_服务搭建篇二·Jenkins+Jmeter+Gitlab持续集成实现接口流程自动化相关推荐
- Linux上快速搭建Jenkins服务器 实现持续集成开发
http://my.oschina.net/long0419/blog/183299 简介: 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础.Jenkins 是一个开 ...
- git jenkins 子目录_持续集成高级篇之Jenkins Pipeline git拉取
PipeLine中拉取远程git仓库 前面讲自由式任务的时候,我们可以看到通过自由式job里提供的图形界面配置git拉取非常方便的,实际上使用PipeLine也并不复杂.这一节我们展示一下如何在Pip ...
- 构建基于Jenkins + Github的持续集成环境
登录 | 注册 John_cdy的专栏 学无止境 目录视图 摘要视图 订阅 有奖征资源,博文分享有内涵 6月推荐文章汇总 CSDN博文大赛初赛晋级名单公布 关注CSDN社区微信,福利多多 构建基于Je ...
- GitLab + Jenkins + Sonar Qube 持续集成
GitLab + Jenkins + Sonar Qube 持续集成 一. 持续集成 二. 持续交付 三. 持续部署 四. 持续集成的实施流程 五. gitlab 5.1 gitlab安装配置 5.1 ...
- Jenkins——Jenkins介绍+基于云平台的Jenkins安装和持续集成环境配置(插件+用户权限+凭据+Maven打包)
Jenkins--Jenkins介绍+基于云平台的Jenkins安装和持续集成环境配置(插件+用户权限+凭据+Maven打包) 持续集成及Jenkins介绍 软件开发生命周期 什么是持续集成? 持续集 ...
- Jenkins与Allure持续集成
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 通过Jenkins与Allure的集成,可以 ...
- jenkins+k8s实现持续集成
持续集成(CI) 集成是指开发人员将代码提交到git或svn 持续集成是指让开发人员持续提交代码,写一点就提交一点,这样就会更早的发现代码差异 每次集成,都可以通过自动化的构建来验证 自动化构建包括: ...
- Jenkins多环境持续集成架构实践
作者:滴答的雨 出处:http://www.cnblogs.com/heyuquan/ Jenkins多环境持续集成架构实践 自动化部署主要是为了解决项目多.环境多.持续集成慢.部署操作麻烦.手动操作 ...
- Jenkins安装和持续集成环境配置
Jenkins安装和持续集成环境配置 持续集成说明 Jenkins安装 Jenkins插件管理 下载中文汉化插件 Jenkins用户权限管理 安装Role-based Authorization St ...
最新文章
- Java序列化bean保存到本地文件中
- 【面向工业界】推荐算法工程师培养计划
- PyTorch中的数据输入和预处理
- 8、python基础知识-用户输入
- 【Linux系统编程】进程内存模型
- Java学习笔记1:Java中有关print、println、printf的用法和区别
- 九度 1532:棋盘寻宝扩展(背包方案统计)
- OpenGL超级宝典(第7版)之第八章基元处理
- 查看计算机数字证书,数字证书认不到怎么办?
- 42步进电机转速力矩曲线_42步进电机转速范围说明(28步进电机转速测试)
- C# 阿里云视频点播
- 【计算理论】非确定性有限自动机 ( NFA ) 转换成 确定性有限自动机 ( DFA )
- 操作系统实验: 进程管理
- 140套高清、超优秀的PPT模板----毕业设计、毕业答辩主题
- 《软件工艺》目录—导读
- 复选框的全选、全不选、和获取选中的值;
- Neutrino追问®AMA第7期|imToken商务总监:我们正在集成通过蓝牙安全使用的硬件钱包
- C#由于从未加载设计器
- Ubuntu 20安装 Qt5.9
- 干货!2019年你确定要错过这份优秀Web字体清单吗?
热门文章
- 微积分经典概念:极限、连续与函数
- c语言switch case ppt,C语言-09switch-case多分支开路语句.ppt
- 自学python后自己接单-自学Python 后端一年半,如何写简历包装自己得到面试机会?...
- python怎么读取excel-python对Excel的读取
- python菜鸟教程-Python3 函数
- iOS 10 的 Speech 框架实现语音识别 (Swift)
- 空间说说秒赞java_人生靠反省,Java靠泛型
- php urldecode 加号不显示_php|urldecode urlencode 的加号问题
- x264源代码简单分析:x264_slice_write()
- python 在线编程 实现_Python进阶开发之网络编程,socket实现在线聊天机器人