linux下jenkins+jmeter集成

一.Docker Jenkins
1.我们某台机器上利用docker安装了jenkins,宿主机安装的工具及目录是无法被直接访问到的,我们可以利用 docker -v 挂载指令将docker jenkins挂载到宿主机,宿主机的目录就能被jenkins访问到:
2.查看docker jenkins 当前挂载的目录:
docker inspect mesos-e8b9210a-aa08-404e-b208-ee252b3a9a4
在这里插入图片描述

我们使用挂载目录 /data/CI/jenkins 将 jmeter 、ant安装在此目录:

3.进入docker进行工具安装:
docker exec -it 07934aae6065 /bin/bash
在这里插入图片描述

二.安装jmeter
1.下载 apache-jmeter-5.1.1.tgz 压缩包
建议下载5.0版本之后的jmeter版本,可以直接使用文件上传,以下版本不支持;
2.解压到当前目录:
tar zxvf apache-jmeter-5.1.1.tgz
3.环境变量设置:
vim /etc/profile 打开配置地址,写入jmeter安装目录:

export JMETER_HOME=/var/jenkins_home/jmeter/apache-jmeter-5.1.1
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH

4.执行 source /etc/profile 配置生效
输入 jmeter -v 有输出即安装成功,环境变量设置成功:
在这里插入图片描述
三.Ant 安装:
1.同jmeter安装一致,下载安装包、解压、设置环境变量:
环境变量如下:

export ANT_HOME=/var/jenkins_home/ant/apache-ant-1.9.15
export PATH=$PATH:$ANT_HOME/bin

2.输入 ant -version 有正确输出即安装、配置完成:
在这里插入图片描述
二.安装jmeter
1.下载 apache-jmeter-5.1.1.tgz 压缩包
建议下载5.0版本之后的jmeter版本,可以直接使用文件上传,以下版本不支持;
2.解压到当前目录:
tar zxvf apache-jmeter-5.1.1.tgz
3.环境变量设置:
vim /etc/profile 打开配置地址,写入jmeter安装目录:

export JMETER_HOME=/var/jenkins_home/jmeter/apache-jmeter-5.1.1
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH

4.执行 source /etc/profile 配置生效
输入 jmeter -v 有输出即安装成功,环境变量设置成功:
在这里插入图片描述
三.Ant 安装:
1.同jmeter安装一致,下载安装包、解压、设置环境变量:
环境变量如下:
export ANT_HOME=/var/jenkins_home/ant/apache-ant-1.9.15
export PATH= P A T H : PATH: PATH:ANT_HOME/bin
输入 ant -version 有正确输出即安装、配置完成:
在这里插入图片描述
安装tips:
1.默认环境已安装java,如未安装,同安装jmeter、ant相同,参照以上操作;
2.复制进挂载目录的文件可能存在权限问题,可以利用chmod 赋予 777权限:
cd 至jmeter、ant目录:
chmod -R 777 *

四.Jenkins+jmeter+Ant集成:
1.Ant调用jmeter:
需要将jmeter 安装包下ant-jmeter-1.1.1.jar复制到apache-ant-1.1.1\lib下
在这里插入图片描述

2.build.xml

注意点1:设置的jmeter路径为docker虚拟机的路径,替换的地方以标注;
注意点2:报告模板确认是否存在;可自主下载不同模板:
Build.xml内容如下:

<?xml version="1.0" encoding="UTF8"?>

<project name="Jmeter-TestCase" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>

<!--jmeter的目录-->
<property name="jmeter.home" value="/var/jenkins_home/jmeter/apache-jmeter-5.1.1" />
<property name="jmeter.result.jtl.dir" value="/var/jenkins_home/jmeter/apache-jmeter-5.1.1/ApiIntegrationTest/report/jtl" />
<property name="jmeter.result.html.dir" value="/var/jenkins_home/jmeter/apache-jmeter-5.1.1/ApiIntegrationTest/report/html" />

<property name="ReportName" value="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" />

<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}">
<testplans dir="/var/jenkins_home/jmeter/apache-jmeter-5.1.1/ApiIntegrationTest" includes="test.jmx" />
</jmeter>
</target>



<target name="report">
<xslt 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>

3.配置jmeter.propertise文档 修改输出为:xml

4.jenkins项目设置:

调用命令行清空报告路径和jenkins工作路径,保证每次产生最新报告:
使用 #!/bin/bash -ilex 原因为jenkins默认登录用户不加载系统profile配置,不能调用设置的ant、jmeter等命令:

5.jenkins工作目录生成的报告没有样式设置:
在这里插入图片描述

由于CSP(Content Security Policy) Jenkins安全策略,默认会设置为一个非常严格的权限集,以防止Jenkins用户在workspace、/userContent、archived artifacts中受到恶意HTML/JS文件的攻击,不能加载css等样式:
解决:Manage Jenkins->Script console ,执行
System.setProperty(“hudson.model.DirectoryBrowserSupport.CSP”, “”)

解决后可以直接在页面查看报告:
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值