跳过正文
  1. Posts/

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

·331 字·1 分钟· ·
沈显鹏
作者
沈显鹏
DevOps & Build 工程师 | Python 爱好者 | 开源贡献者
目录

在将 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,从而解决了问题。


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

相关文章

Jenkins Linux Agent 配置

·353 字·1 分钟
本文提供了 Jenkins Linux Agent 的逐步配置指南,包括 Java 运行时的准备、节点创建以及常见问题的排查方法。