前言
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報告了
