jenkins + allure实现自动化的持续集成
1|0安装jenkins的Allure插件
进入jenkins的插件管理,切换到可选插件,查找Allure插件,点击下载待重启后安装
这里出现了问题:手动安装插件时报错
因为版本的问题,至少要升jenkins到v2.138.4 之后才可以安装Allure,但是镜像库里没有那么新的版本。只能在centos7下安装了最新版本。安装教程请戳这里-->《centos安装jenkins》
2|0Allure Commandline配置
3|0工程配置
3|1创建Freestyle project
3|2General
3|3源码管理(Source Code Management)
3|4构建触发器(Build Triggers)
这里我设置的是每个月每个星期每一天每个小时中,每隔25分钟构建一次
3|5构建(Build)
由于是在centos7下构建,这里使用的是Execute shell
3|6构建后操作(Post-build Actions)
Path后面的目录存放的是生成html报告所依赖的json,txt等文件,点击Advanced,下面的allure_reports/html是存放报告的目录
3|7保存
保存后看到页面是这样的
点开Workspace,发现里面报错:Error:no workspce,这是因为还没有构建的原因,构建之后,会开辟一块默认的工作空间用来存放自动化脚本
3|8执行构建
从控制台输出可以看到,工作目录的路径是:/var/lib/jenkins/workspace/APP_AutoTest
3|9拷贝脚本
4|0问题汇总
4|1解决权限问题
- 给项目赋权
- jenkins以root身份运行
4|2解决allure找不到的问题
- 点击Manage Jenkins,进度Global Tool Confuguration。在这里使用本地安装好的allure commandline,不要勾选自动安装Install automatically。不知道本地安装的allure路径的话,使用
whereis allure
查看,注意路径填的时候不要带bin
- 点击Configure System,配置Global properties,勾选Tool Locations
这里的Name是自动生成的,只需要配置Home,和上面的路径保持一致就行
4|3解决清理报告问题
main.py方法中的os.system(f"allure generate {allure_reports_dir} -o {allure_reports_dir}/html --clean")
,使用--clean。只是清除了allure_reports下的html目录,而allure_reports目录下还存放着之前运行生成的json、txt等文件,需要定义clean.py在每一次运行用例之前清除它们
- 在clean.py中定义清除allure_reports目录下的文件的方法
- 在main.py中,引入clean.py即可
5|0展示报告
6|0备注
6|1工作空间问题
工作空间可以在General下的Advance里的Use custom workspace里自定义
6|2生成报告问题
如使用jenkins,在代码里可以不使用allure generate...
生成测试报告,但要配置pytest --alluredir allure_reports
,这一步是为了收集生成报告的数据,不然看到的报告将是空的
6|3清理问题
jenkins下:不需要清理allure_reports和html目录
本地:不需要清理allure_reports,需要清理html目录,使用os.system(f"allure generate {allure_reports} -o {html} --clean")
7|0参考文章
《Jenkins集成allure测试报告》
《CentOS系统Jenkins以root用户方式运行》
《jenkins构建allure报Can't find allure commandline
__EOF__

本文链接:https://www.cnblogs.com/my_captain/p/12762999.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?