跳过正文
  1. Posts/

解决 ESlint HTML 报告在 Jenkins 作业中无法正常显示的问题

·331 字·1 分钟· ·
沈显鹏
作者
沈显鹏
目录

在将 ESlint 报告集成到 Jenkins 时,我遇到了一个问题:

  • 本地打开 eslint-report.html 显示正常
  • 上传到 Jenkins 并通过 HTML Publisher 插件展示时,报告样式和脚本无法加载
  • 其他 HTML 报告在 Jenkins 中显示正常,只有 ESlint 报告有问题
  • 将 Jenkins 中的 eslint-report.html 下载到本地后又能正常显示

这让我怀疑是 Jenkins 的安全策略导致的,最终在 Stack Overflow 找到了答案。


解决步骤
#

  1. 打开 Jenkins 首页
  2. 进入 Manage Jenkins
  3. 点击 Script Console
  4. 在控制台中粘贴以下代码并执行
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
  1. 执行后刷新页面,CSS 和 JS 就能正常加载

原因说明
#

Jenkins 引入了新的 Content Security Policy (CSP) 在 Chrome 控制台中查看 Elements 时会看到类似 No frames allowed 的提示,这正是导致 ESlint 报告无法加载样式和脚本的原因。

通过清空 hudson.model.DirectoryBrowserSupport.CSP,我们允许 Jenkins 在 HTML 报告中加载 CSS 和 JS,从而解决了问题。


📌 提示:此方法会放宽安全策略,请在内网环境或可信项目中使用。

相关文章

解决 “.NET Framework 2.0 or later is required on this computer to run a Jenkins agent as a Windows service” 问题
·316 字·1 分钟
当 Jenkins Windows Agent 因缺少 .NET Framework 无法连接时,通过安装 .NET Framework 3.5 并设置 Jenkins Agent 服务来解决问题。
Jenkins Linux Agent 配置
·353 字·1 分钟
本文提供了 Jenkins Linux Agent 的逐步配置指南,包括 Java 运行时的准备、节点创建以及常见问题的排查方法。
Jenkins Windows Agent 配置
·608 字·2 分钟
本文提供 Jenkins Windows Agent 的详细配置步骤,包括 Java 运行时准备、节点创建以及常见问题的排查方法。
Jenkins 升级后 Windows Agent 无法启动的解决方法
·325 字·1 分钟
本文介绍 Jenkins 升级后 Windows Agent 无法启动的问题,以及通过更新 Windows Slaves 插件和修改配置文件来解决的步骤。
在 Jenkins 中为不同分支设置不同的默认参数
·408 字·1 分钟
本文介绍如何在 Jenkins 多分支流水线中,根据构建分支动态设置不同的默认参数,从而实现分支差异化配置。
Jenkins 中 `result` 与 `currentResult` 的区别
·492 字·1 分钟
本文解释了 Jenkins Pipeline 中 result 与 currentResult 的区别,并通过 Declarative Pipeline 与 Scripted Pipeline 示例展示它们在不同阶段的表现。