Jenkins中使用jmeter的脚本
1. Jenkins脚本
# 提升账户权限
sudo -i
# 清空自定义的操作台目录
echo "===============清空操作台==============="
cd /data/performance/
rm -rf ./*
# 操作台创建(存储脚本、存储日志)文件夹
echo "===============复制脚本+数据==============="
mkdir /root/.jenkins/workspace/Netdisk/result
mkdir -p /data/performance/runtest
mkdir -p /data/performance/logs/html
# 复制jmx、data、jar到工作台
cp -r /root/.jenkins/workspace/Netdisk/src/test/jmeter/* /data/performance/runtest/
# 开始jmeter压测,结果存储到日志文件夹
echo "===============开始脚本==============="
/usr/local/apache-jmeter-5.4.1/bin/jmeter -n -t /data/performance/runtest/jmx/${scriptName} -l /data/performance/logs/result${threadNums}.jtl -JthreadNums=${threadNums} -Jdurations=${durations} -e -o /data/performance/logs/html/
# 将结果文件夹打包压缩,存放到Jenkins默认的工作空间下(方便直接在Jenkins中查看压测结果)
cd /data/performance/logs
tar -zcf /root/.jenkins/workspace/Netdisk/result/$(date "+%Y%m%d%H%M%S").tar.gz ./*
2. 配置过程中的QA:
-
Jenkins实现参数化,可以自定义并发数、持续时间、执行脚本名等
General
-参数化构建过程
-选项参数
,可以实现自定义并发数(类似于单选框)General
-参数化构建过程
-字符参数
,可以实现在压测时自定义脚本名称(类似于文本框)
-
Jenkins压测后想在“状态集”中就能看到压测结果(点击就可以下载压测结果)
-
将压测结果集合在一个文件夹中(压测命令已经完成这一过程)
-
将文件夹暴露出来,方便压测后直接下载或在线预览结果(能力有限,没有用命令实现。使用Jenkins自带的功能实现了)
-
使用
构建后操作
-归档成品
,将压测结果放到Jenkins默认工作空间目录下就会自动暴露指定文件# 表示将Jenkins的默认工作空间下的result文件夹下所有的tar.gz文件暴露出来 # result文件夹是我自己创建的,方便使用,不是必须的 result/*.tar.gz
-