Jenkins+ant+jmeter+svn环境部署
一、Jenkins安装
具体安装过程见—Linux下安装JenKins环境部署.md文件
二、ant 安装
1、下载 ant安装包
从http://ant.apache.org上下载tar.gz版ant
wget http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.9.14-bin.tar.gz
image.png
2、解压
tar -vxzf apache-ant-1.9.14-bin.tar.gz -C /usr/local 解压
3、修改环境变量
vi /etc/profile#ant envexport ANT_HOME=/usr/local/apache-ant-1.9.14export PATH=$PATH:$ANT_HOME/bin
4、使配置生效
source /etc/profile source命令 是配置的 环境变量生效
5、检查是否配置成功
ant -version
三、jmeter的安装
首先要保证Linux中安装了jdk
1、下载Jmeter
下载地址:http://jmeter.apache.org/download_jmeter.cgi
wget https://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-5.1.1.zip
image.png
[图片上传失败...(image-4b3b0c-1576120045849)]
2、传输到linux系统中,目录自己可以指定,
我放在 /usr/local 目录下
cp apache-jmeter-5.1.1.zip /usr/local/
3、解压
unzip apache-jmeter-5.1.1.zip
4、配置环境变量
vi /etc/profile后面追加进行#jmeter envJMETER_HOME=/usr/local/apache-jmeter-5.1.1PATH=$PATH:$JMETER_HOME/binCLASSPATH=.:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATHexport JMETER_HOME PATH CLASSPATH
5、source生效
source /etc/profile
6、检查是否配置成功
jmeter -v
image.png
四、ant与jmeter关联
1、建立了2个目录为了保存后续的html报告跟jtl报告的内容
mkdir -p /usr/local/apache-jmeter-5.1.1/smoke_report/htmlmkdir -p /usr/local/apache-jmeter-5.1.1/smoke_report/jtlChmod 777 -R /usr/local/apache-jmeter-5.1.1/smoke_report给这个目录添加权限(后续我在Jenkins运行过程中出现过,因为权限问题,无法生存测试报告)Chmod 777 -R /usr/local/apache-jmeter-5.1.1/lib 添加了目录权限,后续中出现过文件,log日志没有权限,导致Jenkins运行不成功
2、将jmeter目录下的extras目录下的ant-jmeter-1.1.1.jar文件复制到ant目录下的lib文件夹中
cp /usr/local/apache-jmeter-5.1.1/extras/ant-jmeter-1.1.1.jar /usr/local/apache-ant-1.9.14/lib/
3、下载测试报告模板
1、下载style文件:jmeter.results.shanhe.me.xsl
将jmeter-results-shanhe-me.xsl上传至jmeter安装目录的extras文件夹下
cp /home/zgp/jmeter.results.shanhe.me.xsl /usr/local/apache-jmeter-5.1.1/extras/
4、配置ant编译文件build.xml
将build.xml放至jmeter目录下
cp /usr/local/apache-jmeter-5.1.1/extras/build.xml /usr/local/apache-jmeter-5.1.1
修改build.xml文件
vi build.xml
<property name="basedirectory" value="/usr/local/apache-jmeter-5.1.1/extras" />
<property name="jmeter.home" value="/usr/local/apache-jmeter-5.1.1" />
<property name="jmeter.result.jtl.dir" value="/usr/local/apache-jmeter-5.1.1/smoke_report/jtl" />
{test}.jtl" />
{test}.html" />
{jmeter.home}/lib" includes="serializer.jar"/>
{jmeter.result.jtlName}">
.jmx" />
force="true"
in="
{jmeter.result.htmlName}"
style="
{report.datestamp}"/>
{jmeter.home}/extras">
</project>
切记:如果用Jenkins工具通过svn下载的jmx脚本文件位置不一致,这里需要修改
{jmeter.result.jtlName}">
<testplans dir="/var/lib/jenkins/workspace/checkout_svn_data/request_auto" includes=".jmx" />*
5、jmeter/bin/properities文件
修改jmeter安装目录下的jmeter/bin/properities文件,修改jmeter.save.saveservice.output_format=xml
vi /usr/local/apache-jmeter-5.1.1/bin/jmeter.properties
6、调试ant配置jmeter是否成功
1,脚本已经编写好,并且运行没有错误
2,脚本已经发到到指定的目录里面
cp login.jmx/var/lib/jenkins/workspace/checkout_svn_data/request_auto/
3,ant run(检查构建是否成功)
image.png
4、生成的html报告
image.png
五、Jenkins配置
1、配置环境变量
Jenkins中-系统配置-全局工具配置
配置jdk
image.png
查看linux系统java路径Echo $java_home或者which java[root@192 bin]# which java/usr/bin/java
在后续跑Jenkins脚本中 发现多了一个bin跟java,把环境变量中的bin/java给删除了(我linux系统 默认安装了java)
2、配置 ant
image.png
/usr/local/apache-ant-1.9.14 目录为大家linux服务中 ant路径位置
3,添加2个插件 系统配置-插件中(完成后重启Jenkins工具)
image.png
4、Jenkins中添加一个自由风项目
image.png
5、丢弃旧的构建
image.png
6、源码管理
image.png
代码下载路径为 /var/lib/jenkins/workspace/jmeter_ant_jenkins/checkout_svn_data
7、构建触发器
image.png
10 15 * * * 每天下午15点 10分运行一次
8、构建 ant
image.png
9、构建HTML报告
image.png
10、构建jtl报告
image.png
11、看构建成功的结果
image.png
六、如果Jenkins需要root执行权限
1、修改Jenkins配置文件
# 打开配置文件vim /etc/sysconfig/jenkins# 修改$JENKINS_USER,并去掉当前行注释$JENKINS_USER="root"
2、修改Jenkins相关文件夹用户权限
chown-Rroot:root/var/lib/jenkinschown-Rroot:root/var/cache/jenkinschown-Rroot:root/var/log/jenkins
3、重启Jenkins服务并检查运行Jenkins的用户是否已经切换为root
# 重启Jenkins(若是其他方式安装的jenkins则重启方式略不同)service jenkins restart# 查看Jenkins进程所属用户ps -ef | grep jenkins# 若显示为root用户,则表示修改完成
七、Jenkins performance插件生成性能测试报告
把Jenkins部署好了,但是用了之后发现performance插件有问题,如果按下面这样设置统计所有的jtl文件,会导致文件夹过于臃肿,于是,而且生成的Performance Trend 比较混乱,不是很直观,于是思考修改一下
4249725225-5c98d88b22aef_articlex.png
试验了一下发现如果多次构建后生成在同一个jtl文件里,解析出的Performance Trend是正确的,但是我原本的设置中,jtl文件名是精确到分钟的,需要修改成精确到天的,这样正好一天的结果能看的很直观。
修改不是很难,总共修改3个地方即可
1.build.xml文件中的时间戳精度
原来是这样的,,jtl和html用的是同一个时间变量,咱们需要把这两个分开来
image.png
修改后如下,也就是多建立一个精确到天的时间变量
image.png
1、插件安装
系统管理---->插件管理----->可选插件----->搜索Zentimestamp
安装即可
2、插件使用
系统管理---->系统设置---->全局属性
image.png
时间格式根据自已的需要设定。
3、Job特例时间戳的设置
打开对应的job 我们可以发现多了一个选项:
image.png
当我们不勾选此选项时将采用系统设置里设置的格式。如果勾选此选项将会优先采用Job中的时间戳格式。
注意:
1.如果时间戳的格式填写不正确,将会导致Job的构建失败。
2.变量名不是BUILD_ID 而是BUILD_TIMESTAMP 在我们想使用的地方直接$BUILD_TIMESTAMP 即可
4、修改任务中performance插件的jtl路径,使用新的时间变量
image.png
5、设置好了,运行看一下
作者:老张_Jason
链接:https://www.jianshu.com/p/340c7f63f467
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。