jenkins显示html样式问题的几种解决方案总结
前言
jenkins上使用HTML Publisher plugin插件生成的html报告样式会丢失,需要设置下才能正常显示。
一、样式丢失
1.官方文档的解释如下,参考地址https://stackoverflow.com/questions/35783964/jenkins-html-publisher-plugin-no-css-is-displayed-when-report-is-viewed-in-j
从安全性考虑,禁止了css和js的加载,所以无法展示。
This rule set results in the following:
- No JavaScript allowed at all
- No plugins (object/embed) allowed
- No inline CSS, or CSS from other sites allowed
- No images from other sites allowed
- No frames allowed
- No web fonts allowed
- No XHR/AJAX allowed, etc.
2.展示结果如下
二、jenkins.msi解决方案
1.jenkins的安装分为jenkins.msi客户端安装和jenkins.war服务端安装,如果是jenkins.msi的安装,找到jenkins.xml文件
2.用Notepad++打开这个jenkins.xml文件,找到下图的arguments这一行,红色区域改成如下,改好后保存:
原来是:-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar
修改后:-Xrs -Xmx256m -Dhudson.model.DirectoryBrowserSupport.CSP= -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar
三、jenkins.war解决方案
方法一:
>java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar D:\Jenkins\jenkins.war
方法二:
1.可以直接改catalina.bat文件,找到tomcat/bin下的catalina.bat文件,用Notepad++打开,加上一行代码
set JAVA_OPTS="-Dhudson.model.DirectoryBrowserSupport.CSP=\"sandbox; default-src ""
(以上几种方法设置好后,都需要重启jenkins)
四、重启jenkins
1.先关掉jenkins,在地址栏jenkins的首页后加exit,如 http://localhost:8080/exit,然后点Try POSTing就能关掉jenkins了
2.重启jenkins,在地址栏jenkins的首页后加restart,如 http://localhost:8080/restart ,点Yes就能重启了
3.重启后,再重新构建之前生成html的job任务,就能正常展示html报告了