前言
最近進行Jenkins自動化測試持續集成,配置HTML測試報告后,但是點擊進去發現測試報告樣式丟失,未加載CSS&JS樣式,如下圖:
由於Jenkins中配置了CSP
(Content Security Policy
)。這是Jenkins
的一個安全策略,為防止受到惡意HTML/JS
文件的攻擊,禁止了css和js的加載,所以無法展示。
測試報告樣式丟失解決
一、暫時解決-修改啟動命令
-
關掉Jenkins
Jenkins地址首頁地址欄加exit(即訪問http://localhost:8080/exit),點擊“使用POST重試”
-
修改啟動命令
打開終端,輸入java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar xxx/xxx/jenkins.war(jenkins.war路徑)
jenkins.war路徑獲取:終端輸入jenkins info 即可查看路徑
-
重啟Jenkins
Jenkins地址首頁地址欄加restart(即訪問http://localhost:8080/restart),點擊“是”
-
重新構建,查看測試報告(展示CSS&JS樣式)
備注:該方法只能暫時解決加載樣式問題,重啟Jenkins服務后,CPS會默認初始設置。
二、安裝插件Groovy,修改CSP設置(永久解決)
- 安裝插件Groovy
首頁點擊系統管理Manage Jenkins->管理插件Manage Plugins
可選插件下,搜索Groovy->勾選Groovy->點擊直接安裝
- 配置Groovy
項目下,點擊配置
點擊構建->增加構建步驟,點擊Execute system Groovy script
輸入命令 System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
-
保存配置,重新構建查看測試報告