前言
本篇将让你会了解到:jmeter + ant + jenkins 三者结合会达到如何的效果呢?没错就是持续集成流水线了;
一、必备环境
1、jdk
2、jmeter
3、ant
4、jenkins
5、git 或 gitlab 或无代码托管(build.xml、jmx、等样式代码)
以上必备环境如果没有安装好那么请详细看这篇(jenkins/git/gitlab需自行安装,这里不展开):https://www.cnblogs.com/gsxl/p/13655788.html
二、jenkins设置
1、开启报告样式(否则你的报告没有css、js,因为jenkins会屏蔽防止被攻击),所以需要在,jenkins设置中的【Script Console】“脚本命令行”执行一条语句:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
![](https://i-blog.csdnimg.cn/blog_migrate/00715064a0caaf38965d9a470c1cb1d1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/334d7ea7e5f024ab1988eb353594a7ab.png)
2、安装插件(安装后重启jenkins):HTML Publisher plugin
![](https://i-blog.csdnimg.cn/blog_migrate/982ed3af2262a20df63ce5bc86d96ead.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3bbc2606c7030160519dc163c7eaa7c8.png)
3、新建job【自由风格项目】
这是我的git托管地址:https://github.com/git-gsxl/jmeter-ant.git build.xml文件中需要改5个地方,详情看第一篇:https://www.cnblogs.com/gsxl/p/13655788.html
①参数化,添加:branch (构建可以指定分支名称)
②Git:代码托管地址
③ant 命令运行
④报告目录编写
以上步骤详细看下面图,另外演示:设置远程构建令牌
![](https://i-blog.csdnimg.cn/blog_migrate/de66edd6695b96cf66708bc9512e192f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/157d8e75bb90dd3665c7a0d34d376551.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c553f825daa1f5bb3032112393cb2154.png)
4、手动触发构建,输入git或其它代码托管的分支名称
![](https://i-blog.csdnimg.cn/blog_migrate/2928cb8e49fdab895566f08b826d971c.png)
5、查看报告
![](https://i-blog.csdnimg.cn/blog_migrate/16ef65289e64f0a021cd3d12a484e8d7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8517c98b028c0a54aceaf943d22641ad.png)
三、其它操作
jenkins远程构建:
1、通过接口的请求方式进行构建:
上面已经在【远程构建】中设置的身份令牌为“gsxl'”
那么我们可以通过这样的规则去访问进行构建:jenkins_url/buildByToken/buildWithParameters?job=job名称&token=远程构建设的身份令牌&branch=master
&可以接多个参数,格式&xx=xxx。
2、广深小龙通过git的bashShell进行访问:
curl -s -X POST 'http://127.0.0.1:8585/buildByToken/buildWithParameters?job=test&token=gsxl&branch=master'
![](https://i-blog.csdnimg.cn/blog_migrate/36ce68b4e4fb679b782be213d1e84f2e.png)
当然很多方式都可以,只要符合规则去请求job,就能够给它构建。
钉钉通知:
有没有发现我们钉钉开发中平台也有这类似的调用,那么我们也可以通过建后进行钉钉通知。
钉钉开放平台链接:https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq
1、我们也可以使用Shell进行发送:
curl -H 'Content-Type: application/json' -X POST \
-d '{
"actionCard": {
"title": "Test-jmeter接口测试",
"text": "成功xxx,失败xxx, 详细总结报告链接:127.0.0.1:8585/job/test/26/xxx",
"btnOrientation": "0",
"btns": []
},
"msgtype": "actionCard"
}' \
'https://oapi.dingtalk.com/robot/send?access_token=xxtoken'
![](https://i-blog.csdnimg.cn/blog_migrate/0d58e6b4b687793e957856bf96fbaaa1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b8299e5b5a2b0b5345fd86f34ddd6e68.png)
在我们jenkins构建流水线中也可以使用这种方式进行部署,建构后的shell。
注意:报告没有显示或者其它报错,一定要注意build.xml里面要改为jenkins拉取代码的目录,否则我无法生成。还是那句话先学习:https://www.cnblogs.com/gsxl/p/13655788.html
最后欢迎来大家QQ交流群一起学习:482713805