Windows 下ANT+Jenkins持续集成构建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36350532/article/details/82900944

准备工作:

1.安装apache-ant ,下载地址:https://ant.apache.org/bindownload.cgi

选择zip 的文档进行下载解压

环境变量配置:

ANT_HOME:C:\apache-ant-1.10.5

CLASSPATH:%ANT_HOME%\lib

Path:%ANT_HOME%\bin

以上ant安装成功

2.jdk 环境,jdk的环境此处不做讲解

3.安装 jmeter 此处不做讲解

把C:\apache-jmeter-4.0\extras 下的ant-jmeter-1.1.jar 文件copy到C:\apache-ant-1.10.5\lib目录下

4.在jmeter 的目录下新建一个文件夹 zero_test 里面放build.xml文件。由上面ant 运行后报错找不到build.xml文件可以知道运行ant时需要加载build.xml文件。

此处build.xml文件内容:

<?xml version="1.0" encoding="UTF-8"?>  
  
<project name="ant-jmeter-test" default="run" basedir=".">  
<!-- <project name="ant-jmeter" default="all"> -->  
    <tstamp>  
        <format property="time" pattern="yyyyMMddhhmm" />  
    </tstamp>  
    <!-- 需要改成自己本地的 Jmeter 目录-->    
    <property name="jmeter.home" value="C:/apache-jmeter-4.0" />  
    <!-- jmeter生成jtl格式的结果报告的路径-->   
    <property name="jmeter.result.jtl.dir" value="C:/apache-jmeter-4.0/zero_test/report/jtl" />  
    <!-- jmeter生成html格式的结果报告的路径-->  
    <property name="jmeter.result.html.dir" value="C:/apache-jmeter-4.0/zero_test/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}/zero_Report.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}">  
             <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->  
            <testplans dir="C:/apache-jmeter-4.0/zero_test/testfile" includes="*.jmx" />  
        </jmeter>  
    </target>  
  
    <!-- 解决Summary里的字段Min Time和Max Time显示的是NaN,没有显示正确时间的问题。 -->  
    <path id="xslt.classpath">  <!-- jar的路径 -->  
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>  
    </path>  
  
    <!-- 把生成的.jtl数据文件转换成.html格式的报告 -->      
    <target name="report">  
        <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm:ss" /></tstamp>  
        <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="${report.datestamp}"/>  
       </xslt>  
  
                
                <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->   
        <copy todir="${jmeter.result.html.dir}">  
            <fileset dir="${jmeter.home}/extras">  
                <include name="collapse.png" />  
                <include name="expand.png" />  
            </fileset>  
        </copy>  
    </target>  
</project> 
 

上面的内容按自己的需要进行配置。

由上文件配置可以知道我zero_test目录下的testfile目录是放测试文件的,report是放测试报告的。

在zero_test 目录下,输入cmd进入doc页面,输入ant

右上可以看输出的html地址

打开zero_Report.html 页面显示如下:

至此,ant执行jmeter文件,生成测试报告已经完成。

开始集成jenkins :下载Jenkins.war。放入C:\apache-tomcat-8.0.36\webapps

在C:\apache-tomcat-8.0.36\bin 目录下输入cmd 进入doc页面,输入

Jenkins服务启动后,在浏览器输入http://localhost:8080/jenkins

进入到Jenkins的页面,此处我已经配置,不再赘述,可以查看:https://blog.csdn.net/qq_36350532/article/details/79472640

安装插件:

 点击可选插件页面(该页面需要加载很多插件,比较慢),页面加载完毕点击右上角分别输入Ant,Email Extension Plugin,HTML Publisher plugin 立即安装。

配置全局工具:

此处环境如果自己电脑已经安装,就安装如下配置,取消勾选自动安装,引用本地配置

再配置系统配置:

 此处系统管理员邮件地址,应该与SMTP的服务地址一致,此处我用的是foxmail,企业邮箱是用foxmail

如:SMTP:smtp.qq.com  则系统管理员邮件地址输入 [email protected]

SMTP:smtp.163.com  则系统管理员邮件地址输入 [email protected]

 

配置完成测试下邮件,邮件内容如下:

邮件功能完成后,开始新建项目

前面先不用管,点击构建,选择Invoke Ant

此处ant版本就选择前面在全局工具配置中设置的别名

选择构建后操作:

Project  Recipient List :设置接收人邮箱,多个接收人使用英文逗号或者空格隔开

输入:$DEFAULT_RECIPIENTS,[email protected],cc:[email protected],bcc:[email protected]

分别代表:引用系统设置中设置的默认邮箱收件人,

新增收件人[email protected]

抄送收件人[email protected]

暗送收件人:[email protected]

Attachments 是设置附件的,不过此附件是在工作空间的基础上的,多个附件也是英文逗号隔开

接上图,此处要加上Recipient List:

完成后,点击保存。

邮件发送内容如下:

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8">  
<title>$PROJECT_NAME-第$BUILD_NUMBER次构建日志</title>  
</head>  

<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"  
    offset="0">  
    <div>
    <table width="95%" cellpadding="0" cellspacing="0" 
        style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif"> 

        <tr>
            <th align="center" colspan="2"><br />
                <h2>构建信息</h2> 
            </th>
        </tr>
        <tr>  
            <td>  
                <ul>  
                    <li>项目名称 : $PROJECT_NAME</li><br />  
                    <li>详细测试报告 : <a href='${BUILD_URL}console'>${BUILD_URL}console</a></li><br />
                    <li>触发原因: ${CAUSE}</li><br />                    
                    <li>项目  Url : <a href='$BUILD_URL'>$BUILD_URL</a></li><br />
                </ul>  
            </td> 
            <td>${JELLY_SCRIPT,template="html"}<br/> 
        </tr>  

        <tr>  
            <td colspan="2" align="center"><br />
            <h2>测试报告</h2>
            </td>  
        </tr>

        <tr>
            <td colspan="2" align="center">
                <div>${FILE ,path="C:/apache-jmeter-4.0/zero_test/report/html/zero_Report.html"}</div>
            </td>
        </tr>

    </table> 
    </div>

  </body>  
</html>

此处讲解:<div>${FILE ,path="C:/apache-jmeter-4.0/zero_test/report/html/zero_Report.html"}</div>

C:/apache-jmeter-4.0/zero_test/report/html 此路径是我们前面运行ant时 生成的报告地址,因此,此处是引用此处的

zero_Report.html 文件内容,下面邮件报告中有体现。

在项目中点击立即构建:

构建成功,查看日志输出:

查看邮件:

猜你喜欢

转载自blog.csdn.net/qq_36350532/article/details/82900944
今日推荐