Jenkins配置测试报告后无法正常显示或显示空白 的解决方法(问题集锦)

news2024/12/27 15:51:10

Jenkins配置测试报告后无法正常显示或显示空白?

  • 现象1:界面样式错乱
    • 原因分析
    • 临时策略
    • 永久策略
  • 现象2:报告路径不存在
    • 原因分析
    • 解决策略
  • 现象3:docker和操作系统版本不匹配
    • 原因分析
    • 解决策略

现象1:界面样式错乱

  • 打开报告后,界面样式错乱,如下:
    在这里插入图片描述

原因分析

  • 出现该现象的原因在于Jenkins中配置的CSP(Content Security Policy)
  • 这是Jenkins的一个安全策略,默认会设置为一个非常严格的权限集,以防止Jenkins用户在workspace、/userContent、archived artifacts中受到恶意HTML/JS文件的攻击;
  • 该权限集默认会设置为:
sandbox; default-src 'none'; img-src 'self'; style-src 'self';
  • 默认情况下,只允许加载:
Jenkins服务器上托管的CSS文件
Jenkins服务器上托管的图片文件
  • 此时以下内容会被禁止:
JavaScript
plugins (object/embed)
HTML中的内联样式表(Inline style sheets),以及引用的外站CSS文件
HTML中的内联图片(Inline image definitions),以及外站引用的图片文件
frames
web fonts
XHR/AJAX
etc.

临时策略

  • 进入Manage Jenkins->Script console,输入如下命令并进行执行;
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
  • 如下:
    在这里插入图片描述
  • 当输入命令,并运行后,如果为空,则说明配置好了,如下:
    在这里插入图片描述
  • 再次进行构建,此时界面样式显示OK了,如下:
    在这里插入图片描述
  • 以上操作对之前构建生成的HTML报告有效,且只是临时生效,当重启Jenkins后,Content Security Policy又会恢复为默认值,从而HTML样式又没法展示了。

永久策略

  • 安装Groovy插件,如下:
    在这里插入图片描述
  • 依次进入项目-配置-Execute Groovy script
    在这里插入图片描述
  • 输入以下内容,保存即可:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

在这里插入图片描述

现象2:报告路径不存在

  • 比如在构建的时候提示报告路径不存在,需要手动创建,错误信息如下:
Jenkins - HTML Publisher Plugin build fails with report directory doesnot exist

原因分析

  • 要么远程仓库的项目目录下没有你设置的报告目录;
  • 要么你设置的报告目录和仓库中存放的报告路径不一致。

解决策略

  • Jenkins上设置好报告存放的目录,如下是项目根目录下的reports目录:
    在这里插入图片描述
  • 然后确认仓库中项目的目录下是否有相同的目录:
    在这里插入图片描述
  • 如上我的仓库中是report,那么两者是需要一致的,要么是report,要么都是reports
  • 最后确认jenkins容器中的项目目录是否下载或同步成功。可以进入到jenkins容器中查看,命令如下:
sudo docker exec -it jenkins bash
 ls /var/jenkins_home/workspace/test_autoui -ls
# /var/jenkins_home/workspace/:这是jenkins容器上项目的工作空间
# test_autoui:这是我的项目名称,改为自己的即可

在这里插入图片描述

  • 从上可以看到有report目录,查看里边的报告:
    在这里插入图片描述
  • 只有确保了以上几点一致,才能正常显示报告,因为构建的时候控制台的信息已经给出了提示,它是从某个目录拷贝到零一一个目录:
    在这里插入图片描述

现象3:docker和操作系统版本不匹配

  • 以上两个现象都解决了,但是仍然不显示报告,报告页面数据直接显示空白;

原因分析

  • 查看构建时控制台的输出错误信息:
    在这里插入图片描述
  • 即错误信息为:
lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by docker)
  • 这个是因为docker版本和操作系统版本不匹配,我的环境是:
docker:最新版本
Ubuntu:22.04
  • 经过查阅磁资料,是因为Ubuntu:22.04的问题,需要使用Ubuntu18.04、Ubuntu20.04都可以。

解决策略

  • 重装系统,比如使用Ubuntu18.04、Ubuntu20.04

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/831705.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实验笔记之——apk生成

最近拾回Android开发(实验笔记之——Windows下的Android环境开发搭建_gwpscut的博客-CSDN博客),花了两天时间,写了个二维码识别的app 忘记如何生成apk了,写个笔记来记录一下 需要创建一下 对应的设置好 这里勾选上记住…

系统保留分区被误删怎么办?

当您在全新的磁盘上安装Windows时,将在磁盘的开头创建一个名系统保留的分区,大小约为100MB,然后是系统驱动器,然后是其他的驱动器。通常,系统保留分区在Windows 8中为350MB,在Windows 10中为500MB。系统保留…

网络安全(黑客)自学就业

前段时间,遇到网友提问,说为什么我信息安全专业的找不到工作? 造成这个结果主要是有两大方面的原因。 第一个原因,求职者本身的学习背景问题。那这些问题就包括学历、学校学到的知识是否扎实,是否具备较强的攻防实战…

webpack基础知识三:说说webpack中常见的Loader?解决了什么问题?

一、是什么 loader 用于对模块的"源代码"进行转换,在 import 或"加载"模块时预处理文件 webpack做的事情,仅仅是分析出各种模块的依赖关系,然后形成资源列表,最终打包生成到指定的文件中。如下图所示&#…

智能灯控无线蓝牙解决方案_SKB369串口BLE蓝牙模块

​蓝牙技术受益于其智能、低功耗、高连接速度等特性,在物联网市场呈现爆发式增长是物联网工程师有目共睹的。目前国际物联网最常用的无线通信技术标准主要有三种:WiFi、Zigbee和蓝牙,据不完全统计显示,在民用领域以WiFi和蓝牙为通…

C语言每日一题:13《数据结构》环形链表。

题目链接: 一.环形链表运动基础。 使用快慢指针利用相对移动的思想: 1.第一种情况: 1,令快指针(fast)速度为2. 2.慢指针(slow)速度为1. 3.以慢指针进入环中开始。 4。假设slow刚刚进入环中fast…

微信新技能解锁——微信图片可以转Excel表格!

大家好呀,你们是不是跟我一样,收到表格图片没法修改! 今天我教大家一个微信隐藏功能,图片可以一键转Excel表格,还能继续编辑,而且还特别简单简直太爱了~ 只需打开微信,点击聊天界面…

Openssh高危漏洞CVE-2023-38408修复方案

0x01 漏洞简述 2023年07月21日,360CERT监测发现OpenSSH发布了OpenSSH的风险通告,漏洞编号为CVE-2023-38408,漏洞等级:高危,漏洞评分:8.1。 OpenSSH 是 Secure Shell (SSH) 协议的开源实现,提供…

SpringBoot中mybatis分页插件的使用--【pagehelper组件】

SpringBoot系列文章目录 SpringBoot知识范围-学习步骤【JSB系列之000】 文章目录 SpringBoot系列文章目录本系列校训 SpringBoot技术很多很多环境及工具:上效果图目前流行的mybatis分页插件在Spring Boot里使用pagehelperJAVA查询列表时页面上的使用还要注意的是 …

零基础强化学习入门分享

(一)前言:强化学习入门顺序。 以前主要学习硬件PCB单片机等知识,后来接触的项目也大多与电气相关,从一窍不通到稍微找到点门道,中间走过不少弯路,误打误撞中,也留下了一些经验。 我的…

【音视频处理】转封装实战,文件转直播流,FFmpeg代码示例讲解

大家好,欢迎来到停止重构的频道。 从本期起,我们正式进入音视频处理的介绍。 本期我们讨论音视频文件转封装,如将MP4转AVI、MP4转RTMP等。 内容中所提及的代码都会放在GitHub,感兴趣的小伙伴可以到GitHub下载。 我们按这样的顺…

数据科学与大数据专业好就业么

好不好就业取决于你个人的学习能力和技术水平能否达到企业应聘的要求,最直观的方法就是可以搜下你想要工作城市的应聘要求,然后对应着技术点进行技能提升 猎聘大数据研究院发布了《2022未来人才就业趋势报告》 从排名来看,2022年1-4月各行业…

最强实战,Web自动化测试Python+Selenium3+PO+Yaml+DDT框架封装(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 设计思路 框架采…

23款奔驰C260 L更换内饰最全发光套件,提升车内氛围感

原厂1:1设计,免编程匹配,无损安装,可升级项目: 1、碳纤维中控氛围灯(阿凡达水滴款) 2、发光前风口; 3、发光后风口; 4、发光座椅背气氛灯; 5、中音发光盖板 6、主动…

LGViT : Dynamic Early Exiting for Accelerating Vision

摘要 近年来,在资源有限的边缘设备上高效部署和加速功能强大的视觉变压器(ViTs)已成为一个很有吸引力的任务。虽然早期退出是加速推理的一个可行的解决方案,但大多数工作都集中在自然语言处理(NLP)中的卷积…

1.Kubernetes

文章目录 KubernetesK8S概述作用为什么使用K8S主要功能Kubernetes 集群架构与组件总结: 核心组件Master组件Kube-apiserverKube-controller-managerKube-scheduler工作 配置存储中心etcd Node组件KubeletKube-Proxydocker 或 containerd 总结: 工作流程K…

【电源专题】电压查表法显示电量的原理与缺点

在文章:【电源专题】电量计估计电池荷电状态方法(开路电压法及库仑计法)的差别中我们讲到电量计估计荷电状态的方法。其中开路电压法实现方法较容易,可借着开路电压对应荷电状态查表而得到。 那么为什么能够使用电压查表法去预估电池容量呢?如下所示如果我们往一个有刻度…

SpringBoot复习:(16)TomcatStarter

直接在idea里运行SpringBoot程序时,内嵌的tomcat容器会调用TomcatStarter这个类的onStartup方法。TomcatStarter继承自ServletContainerInitializer 其onStartup方法会调用ServletContextInitializer(不是ServletContainerInitializer)的onStartup方法.…

你玩过Java实现的猜数字小游戏嘛?Let‘s Go

你玩过Java实现的猜数字小游戏嘛?Lets Go 分析过程代码实现小结Time 分析过程 首先:猜数字得有个数字先是吧,随机数获取用的是Math.random()函数 math.random()函数:是取[0,1)之间的随机数 math.random()*100:表示[0,1…

利用鸿鹄快速构建公司IT设备管理方案

需求描述 相信应该有一部分朋友跟我们一样,公司内部有很多各种各样的系统,比如资产管理、CRM、issue管理等等。这篇文章介绍下,鸿鹄是如何让我们的资产系统,按照我们的需求展示数据的。 我们的资产管理系统,是使用开源…