- Linux环境下搭建jenkins+jmeter+ant持续集成测试平台
- 一、JDK安装
- 二、安装jmeter
- 三、安装ant
- 四、Jmeter+Ant配置
- 五、Jenkins安装与配置
- 1.Jenkins安装
- 2.Jenkins配置
- 插件安装:
- 系统设置
- 全局工具配置
- 3.项目配置
- 点击新建任务,选择构建一个自由风格的软件项目
- 添加构建操作
- 构建后操作
- 构建定时任务
- 定时任务构建规则:
- 实例说明
-
下载jdk18(最新版的jenkins后续不支持jdk8,所以下载jdk18):https://www.oracle.com/cn/java/technologies/javase/downloads/#java8,选择对应的linux版本进行下载
-
下载后的tar包,通过rz/scp或者ftp传输工具(xftp/FileZilla)传输到目标linux服务器,解压后移动到目标目录,我这里是保存到/usr/tools/
# 解压 tar -zxvf jdk-18_linux-x64_bin.tar.gz # 解压后的文件移动到指定目录 mv ./jdk-18.0.1.1 /usr/tools
-
将jdk添加到环境变量
# 打开环境变量配置文件 vim /etc/profile
在文件末尾添加java环境变量
#java env JAVA_HOME=/usr/tools/jdk-18.0.1.1(你的jdk目录) CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$PATH:$JAVA_HOME/bin: export JAVA_HOME export CLASSPATH export PATH
-
重新加载环境变量
source /etc/profile
-
验证jdk是否安装成功
java -version
-
下载jmeter包:https://jmeter.apache.org/download_jmeter.cgi,下载后上传到服务器、解压后移动到指定目录,步骤和jdk安装一样,这里我安装到/usr/tools
-
vim /etc/profile配置环境变量
在文件末尾添加jmeter环境配置
#jmeter env JMETER_HOME=/usr/tools/apache-jmeter-5.5 CLASSPATH=.:$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/log4j-core-2.11.0.jar PATH=$PATH:$JAVA_HOME/bin:$JMETER_HOME/bin:$ANT_HOME/bin export JMETER_HOME export CLASSPATH export PATH
-
重新加载环境变量
source /etc/profile
-
验证是否安装成功
jmeter -v
-
下载ant,下载地址:https://ant.apache.org/bindownload.cgi
-
下载包上传到服务器,解压后移动到指定目录
tar -zxvf /etc/apache-ant-1.10.9-bin.tar mv /etc/apache-ant-1.10.9-bin.tar /usr/tools
-
vim /etc/profile修改环境配置
export ANT_HOME=/home/test/apache-ant-1.10.9 export PATH=$PATH:$ANT_HOME/bin
-
重新加载环境变量
source /etc/profile
-
检查是否安装成功,输入ant -v,成功会出现如下信息
-
文件配置
- jmeter需要生成报告,就需要下载jmeter.results.shanhe.me.xsl,下载地址为:New XSL stylesheet for JMeter command line results report | shanhe.me
- “jmeter.results.shanhe.me.xsl” 文件放到jmeter安装目录的 extras 目录下
- 将jmeter的extras目录下的ant-jmeter-1.1.1.jar文件,拷贝到Ant安装目录的lib目录下
- 将jmeter的lib目录下,把serializer-2.7.2.jar、xalan-2.7.2.jar文件复制到ant的lib目录下
-
创建ant工作目录以及报告存放目录
创建工作目录我这里选择的/usr/jmeter_test,在目录下创建script、result和data文件夹,其中script存放jmeter脚本文件和build.xml文件,result下新建jtl和html文件存放jmeter报告,data存放csv配置的数据文件
-
本地下载的jmeter插件要同步到linux上的jmeter,否则运行会失败
-
build文件存放在script目录中,我这里对build.xml做了点个性化配置
Jmeter+Ant+Jenkins funcMode = ${funcMode} Report generated at ${report.datestamp} 生成接口自动化测试报告 Cannot find all xalan and/or serialiser jars The XSLT formatting may not work correctly. Check you have xalan and serializer jars in ${lib.dir} jmeter.home = ${jmeter.home} -
修改jmeter.properties文件如下部分,都改成true,让报告输出的内容更详细
jmeter.save.saveservice.data_type=true jmeter.save.saveservice.label=true jmeter.save.saveservice.response_code=true # response_data is not currently supported for CSV output jmeter.save.saveservice.response_data=false # Save ResponseData for failed samples jmeter.save.saveservice.response_data.on_error=false jmeter.save.saveservice.response_message=true jmeter.save.saveservice.successful=true jmeter.save.saveservice.thread_name=true jmeter.save.saveservice.time=true jmeter.save.saveservice.subresults=true jmeter.save.saveservice.assertions=true jmeter.save.saveservice.latency=true # Only available with HttpClient4 jmeter.save.saveservice.connect_time=true jmeter.save.saveservice.samplerData=false jmeter.save.saveservice.responseHeaders=false jmeter.save.saveservice.requestHeaders=false jmeter.save.saveservice.encoding=false jmeter.save.saveservice.bytes=true # Only available with HttpClient4 jmeter.save.saveservice.sent_bytes=true jmeter.save.saveservice.url=true jmeter.save.saveservice.filename=false jmeter.save.saveservice.hostname=false jmeter.save.saveservice.thread_counts=true jmeter.save.saveservice.sample_count=false jmeter.save.saveservice.idle_time=true
这俩个也ctrl F找出来改下
jmeter.save.saveservice.output_format=xml (csv改为xml)
server.rmi.ssl.disable=true (false改为true)
-
测试运行
在以上步骤都完成后,进入script目录,直接运行ant命令
提示BUILD SUCCESSFUL,即运行成功
可下载html查看html形式的测试报告,也可以通过jtl在jmeter里用查看结果树查看
五、Jenkins安装与配置 1.Jenkins安装jenkins有多种安装方式,我这里使用的是rpm安装
-
下载jenkins的rpm包
下载地址:https://jenkins.io/zh/download/或者https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/
-
安装rpm包及配置
-
安装:
rpm -ivh jenkins-2.358-1.1.noarch.rpm
-
配置
vim /etc/sysconfig/jenkins 修改端口号,8080有可能被占用
JENKINS_PORT=“8090”vim /usr/lib/systemd/system/jenkins.service同步修改里面的端口号
vi /etc/init.d/jenkins 编辑Jenkins配置文件,添加jdk的Java路径
重新配置的端口可能没有开放,这里需要开放端口
# 开启防火墙 systemctl start firewalld # 开放指定端口 firewall-cmd --permanent --zone=public --add-port=8090/tcp # 重启防火墙 Firewalls-cmd --reload netstat -ntlp //查看当前所有tcp端口· netstat -ntulp |grep 8090 //查看所有8090端口使用情况·
-
-
启动
# 重新加载配置 systemctl daemon-reload # 启动 systemctl start jenkins # 查看jenkins状态 systemctl status jenkins.service
安装好之后,打开浏览器,输入http://服务器IP:8090/,进入jenkins页面
点击系统管理->插件管理,在可选插件依次安装Ant Plugin、HTML Publisher plugin、Groovy、Email Extension
系统设置-
点击系统管理->系统设置,进入到这个页面,编辑全局属性
添加环境变量ANT_HOME和JAVA_HOME
找到Ant,添加ant的名字,和ANT_HOME路径
3.项目配置- 点击新建任务,选择构建一个自由风格的软件项目
- 添加构建操作
-
增加构建操作,选择Execute system Groovy script在在命令行输入
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "script-src 'unsafe-inline'")这个命令是用于处理测试报告样式无法加载问题的
-
再增加加构建操作,Invoke Ant选择ant版本,需要运行的节点填写你build.xml文件中的节点,BuildFile就选择脚本目录下面的build.xml的路径
-
- 构建后操作
-
增加构建后操作,选择Publish HTML reports
-
HTML directory to archive,填写包含存放路径
-
Index page[s],填写报告名字,如果有多个报告,可以填写*.html
-
- 构建定时任务
点击构建触发器->定时构建
* 匹配范围内所有值 M-N 匹配M~N范围内所有值 M-N/X 或者 */X 在指定M~N范围内或整个有效区间内每隔X构建一次 A,B,...,Z 匹配多个值实例说明
每隔5分钟构建一次 H/5 * * * * 每两小时构建一次 H H/2 * * * 每天中午12点定时构建一次 H 12 * * * 每天下午18点定时构建一次 H 18 * * * 在每个小时的前半个小时内的每10分钟 H(0-29)/10 * * * * 每两小时45分钟,从上午9:45开始,每天下午3:45结束 45 9-16/2 * * 1-5 每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午4:38) H H(9-16)/2 * * 1-5



