一、问题
Jenkins中在访问有自定义样式或动画效果的测试报告时,会出现样式无法正常显示的问题
二、原因
Jenkins为了避免受到恶意HTML/JS文件的攻击,会默认将安全策略CSP设置为:
sandbox; default-src 'none'; img-src 'self'; style-src 'self';
此配置下,只允许加载:Jenkins服务器上托管的CSS文件、Jenkins服务器上托管的图片文件
三、解决方案
1、通过修改启动命令来实现:
D:\jenkins>java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar jenkins.war
2、安装插件:Groovy Postbuild,
(1).安装插件:Groovy Postbuild
Dashboard => Manage Jenkins => Manage Plugins => 可选插件 => Search 中输入Groovy Postbuild
(2).在构建时添加
构建后操作 => 增加构建后操作步骤 => Groovy Postbuild
Groovy Script 下填入:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")
System.setProperty("org.apache.commons.jelly.tags.fmt.timeZone","Asia/Shanghai")
用了第二种方式,有效果。