Linux下的Jenkins+ant+jmeter 持续集成平台搭建及出现的问题

 

目录

1.安装JDK(不是openjdk 是JDK)

2.安装Jmeter

3安装Ant

4.安装tomcat

5.Jmeter+Ant

6.Jenkins安装

7.Jenkins+Ant+Jmeter

安装过程中出现的问题:


1.安装JDK(不是openjdk 是JDK)

①在官网下载一个jdk的版本:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html

选择linux版本

 

 

 

②下载后的tar包,通过rz命令,上传到目标Linux服务器中

并创建/etc/java/文件夹,移动到此文件夹下并解压

 tar -zxvf jdk-8u281-linux-x64.tar.gz

③vi /etc/profile 编辑环境变量

在末位加上java相关环境变量

#java env

JAVA_HOME=/etc/java/jdk1.8.0_281

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

 

2.安装Jmeter

①下载jmeter包:http://jmeter.apache.org/download_jmeter.cgi,下载之后移动到linux服务器上面,然后进行解压,步骤和安装jdk一样

②配置环境变量,在profile文件中配置

#jmeter env

JMETER_HOME=/etc/jmeter/apache-jmeter-5.4.1

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是否安装好

jmeter -v

 

出现如上就表明安装成功

④可以通过jmeter -n -t *.jmx ,运行jmeter

 

3安装Ant

①在官网下载ant,https://ant.apache.org/bindownload.cgi,下载之后然后移动到linux环境,解压

 

②配置环境变量

#ant env

ANT_HOME=/etc/ant/apache-ant-1.10.9

PATH=$PATH:$ANT_HOME/bin

export PATH

加完以后,需要重新加载环境变量

source /etc/profile

③验证ant是否安装成功

ant -version

 

出现如上就表明安装成功

4.安装tomcat

①在官网下载ant,https://tomcat.apache.org/download-80.cgi,下载之后然后移动到linux环境,解压

 

②环境变量配置

#tomcat env

TOMCAT_HOME=/etc/tomcat/apache-tomcat-8.5.64

PATH=$PATH:$TOMCAT_HOME/bin

export TOMCAT_HOME PATH

 

原文链接:https://blog.csdn.net/fukai8350/article/details/80467224

③验证tomcat是否安装完成

bin/startup.sh

之后通过ip:8080访问,能调通即成功

④日常使用的tomcat命令

#启动tomcat, 在tomcat目录下(官方名称:apache-****)

bin/startup.sh

#关闭tomcat, 在tomcat目录下(官方名称:apache-****)

bin/shutdown.sh

#如果关闭出错,可以杀死线程

ps -ef | grep tomcat

 

5.Jmeter+Ant

 

①将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的lib目录中

cp /etc/ant-jmeter-1.1.1.jar /etc/ant/apache-ant-1.10.9/lib/

②在jmeter文件中创建demo文件夹,并再分别创建jtl html script xml 4个文件夹,分别用来放jtl文件 报告文件 jmx文件和build.xml文件

③优化模板(目前我是直接用的别人的模板)

④优化build.xml

<?xml version="1.0" encoding="utf-8"?>
<project name="JmeterTest" default="all" basedir=".">
    <tstamp>
        <format property="time" pattern="yyyyMMddhhmm" />
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录-->
    <property name="jmeter.home" value="/etc/jmeter/apache-jmeter-5.4.1" />
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="/etc/jmeter/apache-jmeter-5.4.1/demo/jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="/etc/jmeter/apache-jmeter-5.4.1/demo/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" />
	<property name="jmeter.resultdetail.htmlName" value="${jmeter.result.html.dir}/Interface-detail.html" />
    <!-- 接收测试报告的邮箱
    <property name="mail_to" value="**@qq.com" /> -->
    <!-- 电脑地址 -->
    <property name="ComputerName" value="zxg" />
    <target name="all">
        <antcall target="test" />
        <antcall target="report" />
		<antcall target="reportdetail" />
	<!--<antcall target="sendmail" />-->
    </target>
    <target name="test">
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
            <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->
            <testplans dir="${jmeter.home}/demo/script" includes="*.jmx" />
			
			<property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>
	
    <!--加载jar包-->
    <path id="xslt.classpath">
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    </path>  
	
    <target name="report">
        <xslt 
		classpathref="xslt.classpath"
		force="true"
		in="${jmeter.result.jtlName}" 
		out="${jmeter.result.htmlName}" 
		style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
		<!-- <param name="dateReport" expression="${time}"/>-->
        <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>
	
    <target name="reportdetail">
        <xslt 
		in="${jmeter.result.jtlName}" 
		out="${jmeter.result.htmlName}" 
		style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl" />
    </target>
			
	
    <!-- 发送邮件 
	<target name="sendmail" >
		<mail mailhost="smtp.qq.com"
			mailport="465"
			ssl="true"		
			user="**@**"
			password="zxgp@ssw0rd"
			subject="接口测试报告"
			from="**@qq.com"
			>
			<to address="**@qq.com"/>
			<message>详细报告请查看附件</message>
			  <attachments>
			    <fileset dir="${jmeter.result.html.dir}"> 
			      <include name="${ReportName}${time}.html"/>
			    </fileset> 
			    <fileset dir="${jmeter.result.html.dir}"> 
			      <include name="Interface-detail.html"/>
			    </fileset> 
			  </attachments>
		</mail>
	</target>
	-->
</project>

⑤修改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

⑥进入jmeter路径/demo/xml ,执行ant命令

 

提示BUILD SUCCESSFUL,即运行成功

可下载html查看html形式的测试报告,也可以通过jtl在jmeter查看结果树

 

6.Jenkins安装

①在官网下载jenkins war包,https://www.jenkins.io/download/,下载之后然后移动到linux环境

②清空tomcat下webapps文件,把jenkins.war放入webapps文件夹

③启动tomcat 更改webapps下jenkins文件名,改为ROOT

④重启tomcat 网页访问 ip:8080 进入jenkins页面

⑤获取Jenkins管理员密码

⑥下一步下一步即可 进入以下页面即表示安装成功

 

7.Jenkins+Ant+Jmeter

①进入Jenkins系统管理→管理插件,安装HTML Publisher 和Performance 插件以展示测试报告。

②进入系统管理→全局工具配置页面设置jdk和ant

注意:默认是需要安装的,不选自动安装就是输入本地地址

③新建一个自由风格的项目,并构建:

源码管理,如果无git就不填:

构建ANT:

构建完成操作HTML reports:

应用=>保存

④项目中执行构建

和直接执行ant一样,出现BUILD SUCCESSFUL就表明构建成功,运行成功。

在原先的html jtl文件夹中都会出现对应的报告和jtl,因为Jenkins安装了html report插件,也可以直接查看报告。

Jenkins+Ant+jmeter的自动化持续平台就全部完成了。后续要引进docker,git,maven这些都是类似的步骤。

 

安装过程中出现的问题:

①source profile后,所有命令都失效

原因:修改profile文件时,使用了$PATH=<newpath>,后面没有使用”:”拼接原来的$PATH,导致PATH丢失了重要环境变量。添加环境变量时一定要看清。

解决方法:

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

②source /etc/profile 在关闭当前xshell窗口后,需要重新source,否则会提示没有对应命令

解决方法:vi /root/.bashrc 中末位添加 source /etc/profile

③Jenkins没有配置本地环境,导致报错

 

参考:https://blog.csdn.net/weixin_41948075/article/details/97894080

https://cloud.tencent.com/developer/article/1527554?from=article.detail.1527556

https://blog.csdn.net/fukai8350/article/details/80467224

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值