jenkins 配置使用 html publisher 查看 jmeter html 报告时,发现显示不全,很多东西显示不了。

项目配置:

查看 html 报告异常(很多资源无法加载):

控制台查看加载日志(与安全机制有关):

在查看官方文档后,这原来是安全问题所导致的。

Jenkins 安全默认是将以下功能都关闭了
1、javascript
2、html 上的内置插件
3、内置 css 或从其它站的 css
4、从其它站的图处
5、AJAX

我的网页使用的是 css 和 Js,所以显示不全。解决方法如下:
在 jenkins 系统管理中输入以下脚本运行:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

如下图:

再次运行查看,显示正确
注意:
此方法只适用于 HTML Publisher Plugin to version 1.10 以上的版本

参考文档:https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy

以上方法,在每次重启 Jenkins 后会重置 jenkins 的安全配置,需要再次执行;

下面就介绍下永久解决的方法:
jenkins 上安装 Groovy 插件,用来执行系统 Groovy 脚本,安装完成后,在增加构建步骤里添加:
Execute system Groovy script

执行脚本:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

把脚本执行集成在项目中,这样就不用担心 Jenkins 重启了。
参考文档:https://stackoverflow.com/questions/35783964/jenkins-html-publisher-plugin-no-css-is-displayed-when-report-is-viewed-in-j


↙↙↙阅读原文可查看相关链接,并与作者交流