jenkins+ant+git+jemter 实现github提交代码,则触发jenkins构建,执行完毕,发送邮件
一、安装或配置环境,略...不会的可以百度
(1)配置jdk1.8
(2)安装jenkins
(4)配置ant
(5)下载jmeter并解压;
https://www.cnblogs.com/canglongdao/p/12910520.html这一篇博客已实现 jenkins+ant+jmeter
二、ant配置:
2.1 将jmeter安装目录下E:\apache-jmeter-5.1.1\extras的ant-jmeter-1.1.1.jar复制到ant安装目录下apache-ant-1.10.1\lib
2.2 jmeter目录下,新建文件夹(如ant_git_jmeter_jenkins/jmeter_test_0522/report)用于存放结果文件(注意:结果和build.xml可以放在任何目录下,build.xml中添加结果路径;jenkins中添加build.xml路径);
jenkins安装目录--workspace下,新建jmeter_test_0522文件,先添加一个.jmx文件(否则ant 验证不成功);
(jenkins构建时,会在workspace中新建一个文件夹(名称同项目名称),若是该文件夹存在,则不再新建;且github下载的文件默认也在该文件夹下;)
2.3 新建build.xml文件,根据实际路径进行修改;
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="E:\apache-jmeter-5.1.1" /> <!-- jmeter生成jtl、html格式的结果报告的路径--> <property name="jmeter.result.dir" value="E:\apache-jmeter-5.1.1\ant_git_jmeter_jenkins\jmeter_test_0522\report" /> <!-- 生成的报告的前缀--> <property name="ReportName" value="TestReport" /> <property name="jmeter.result.jtlName" value="${jmeter.result.dir}/${ReportName}${time}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.dir}/${ReportName}${time}.html" /> <target name="run"> <echo message="start..."/> <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脚本,includes里的文件也可以用逗号,隔开--> <testplans dir="D:\Program Files\Jenkins\workspace\jmeter_test_0522" includes="*.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/> </jmeter> </target> <path id="xslt.classpath"> <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/> <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> </path> <target name="report"> <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp> <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl"> </xslt> <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> <copy todir="${jmeter.result.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> </project>
2.4 (管理员权限)cmd或shell 进入build.xml文件目录,使用ant命令测试是否生效
三、jenkins中Manage Jenkins中配置如下内容;
3.1 Manage Plugins(插件管理)中安装相关插件;Ant Plugin; Email Extension Plugin; Git plugin; 等;
3.2 Global Tool Configuration中新增JDK配置; Git配置;Ant配置;
3.3 Configure System中,填写Jenkins URL,系统管理员邮件地址;
Github服务器,点击添加,Jenkins;
弹出的框中,类型选择'Secret text';Secret中输入Github中设置的tokens;描述中填入任意内容;
Github Server中,填写如下内容:名称、凭证、覆盖HookURL; github添加webhooks后,点击连接测试,显示成功;花生壳配置域名参考:https://www.cnblogs.com/canglongdao/p/12935701.html
github上Webhooks的具体设置如下;
jenkins邮箱配置,参考:https://www.cnblogs.com/imyalost/p/8781759.html;具体配置截图如下;
四、Jenkins中新建项目,并配置;
4.1 新建Item-->Freestyle project 名称为jemter_test_0522;点击配置;
4.2 源码管理;选择Git,点击添加->Jenkins中;
Repositories |
Jenkins中配置内容如下:
源码管理中配置github中相应项目的URL,选择凭证(添加凭证后,这里显示的是github的登录账号),添加源码库浏览器
4.3 构建触发器;
4.4 构建环境;如,JDK选择的信息是Jenkins--Manage Jenkins--Global Tool Configuration中配置的JDK;
4.5 构建;填写信息如下图;Build File,是前面新建build.xml的路径;
4.6 构建后操作,添加“Editable Email Notification”
五、github的jmeter_test_0520的master分支上,上传文件则会触发构建,执行完毕,会发送邮件;
5.1 jmeter_test_0522(jenkins项目工程文件)下,每次只下载新的文件;
jenkins从github拉取代码 https://www.cnblogs.com/jwentest/p/7065783.html