Jenkins HTML Publisher插件有一個奇怪的問題,其中在Jenkins中查看時,我添加到報表中的所有花哨CSS都被剝離。如果我將報告下載到本地,我可以看到CSS格式。 Jenkins中有一個允許CSS被查看的設置嗎?Jenkins - HTML Publisher Plugin - 在Jenkins服務器中查看報告時不顯示CSS
我的HTML出版商設置在詹金斯:
我的報告頁面時,在詹金斯顯示:
我的報告頁面時,在本地顯示:
Jenkins HTML Publisher插件有一個奇怪的問題,其中在Jenkins中查看時,我添加到報表中的所有花哨CSS都被剝離。如果我將報告下載到本地,我可以看到CSS格式。 Jenkins中有一個允許CSS被查看的設置嗎?Jenkins - HTML Publisher Plugin - 在Jenkins服務器中查看報告時不顯示CSS
我的HTML出版商設置在詹金斯:
我的報告頁面時,在詹金斯顯示:
我的報告頁面時,在本地顯示:
找出問題所在。在此分享給其他用戶。
由於Jenkins中的內容安全策略,CSS被剝離出來。 (https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy)
默認的規則設置爲:
sandbox; default-src 'none'; img-src 'self'; style-src 'self';
此規則集結果如下:
放寬此規則,請轉到管理Jenkins->腳本控制檯和鍵入以下命令:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
並按運行。如果在「結果」標題下看到輸出爲「結果:」,則保護被禁用。重新運行你的構建,你可以看到歸檔的新HTML文件將啓用CSS。
(以下解決方案適用於Windows)。
一個永久的解決辦法是改變行[Jenkins directory]\jenkins.xml
(對我來說這是在C:\Jenkins\jenkins.xml
)
<executable>java.exe</executable>
<arguments>[arguments are here]</arguments>
以下參數添加到空格分隔參數列表:
-Dhudson.model.DirectoryBrowserSupport.CSP=
然後重新啓動Jenkins服務以接收更改。
您可以通過在Vall的回答指定使用常規命令解決這個問題。
效果是一直到詹金斯重新啓動後,你必須再次做。
解決這個問題的一個解決方案是配置工作時詹金斯啓動,會爲你做到這一點。
您可以通過使用Startup Trigger plugin來完成此操作。
安裝完成後,創建一個新的作業,您將需要檢查構建觸發器部分下的新複選框。
然後加入用命令的執行系統Groovy腳本生成步驟:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")
保存,一切都應該工作。
的Ubuntu版本14有益的是特殊的插件:
https://wiki.jenkins-ci.org/display/JENKINS/Startup+Trigger - 要在詹金斯啓動開始工作
https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin - 要運行系統Groovy腳本
而且我做了一個工作,這對詹金斯開始重新啓動並設置參數。
而且增加系統的Groovy腳本設置parametr。 System.setProperty( 「hudson.model.DirectoryBrowserSupport.CSP」, 「沙箱; IMG-src的 '自我';」)
儘管運行作業成功完成,但它並未啓用報告的CSS顯示。我在「腳本控制檯」中運行完全相同的groovy腳本,並且運行良好。我還可以做些什麼?這項工作的groovy腳本並沒有改變實際的Jenkin的父母的財產。 – frakman1
@ frakman1在這一刻我的Groovy腳本看起來像這樣 - System.setProperty(「hudson.model.DirectoryBrowserSupport.CSP」,「」) 但是,這一切,一切正常。也許你沒有管理員用戶? – abiab
謝謝你的迴應。我最終得到它的工作。我不得不使用這個腳本:'System.setProperty(「hudson.model.DirectoryBrowserSupport.CSP」,「sandbox allow-same-origin allow-scripts; default-src'self'; script-src *'unsafe-eval' ; img-src *; style-src *'unsafe-inline'; font-src *「)' – frakman1
在CENTOS,以使得在HTML報告圖像
sudo vi /etc/sysconfig/jenkins
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP=\"default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' 'unsafe-inline' data:;\""
即使在重新啓動jenkin服務器後,這也可以工作。
指令
默認-SRC:默認-SRC是加載內容,如JavaScript,圖片,CSS,字體,AJAX請求,框架,HTML5媒體
這樣的默認策略IMG-SRC:定義圖像的有效來源。
源值
'自我' -來自同一產地(相同的方案,主機和端口)允許加載資源。
用法:
default-src 'self'
「不安全內聯」 - 允許使用內聯源元件,例如風格屬性的,的onclick或腳本標籤體(依賴於它被施加到源的上下文)和javascript:URI。
用法:
default-src 'unsafe-inline'
'不安全-EVAL' - 允許不安全動態代碼評估例如JavaScript的eval()
用法:
default-src 'unsafe-eval'
數據: - 允許通過數據方案加載資源(例如Base64編碼圖像)。
用法:
img-src 'self' data:
請參考有關內容安全策略here
唯一一個適合我的工具 – Adiii
在於Debian/Ubuntu,在aptitude installations:
sudo vi /etc/default/jenkins
-Dhudson.model.DirectoryBrowserSupport.CSP=
到JAVA_ARGS
(例如JAVA_ARGS="-Dhudson.model.DirectoryBrowserSupport.CSP="
)service jenkins restart
這是足以讓我,但參數的完整列表,請參閱this answer。
現在回覆已經太遲了,但還是想分享。
我一直在與Jenkins部署在Tomcat中掙扎,試圖執行腳本,它有助於但是如果tomcat重新啓動就會消失。
通過在tomcat中設置catalina.properties中的屬性進行永久修復。
屬性文件:tomcat_installation_dir/conf目錄/ catalina.properties 只要複製粘貼catalina.properties下面的線在最後(你可以設置它的任何地方只是爲了不與現有的性質混亂)
-Dhudson.model .DirectoryBrowserSupport.CSP =「」
在向我的jenkins添加HTTPS後,我遇到了同樣的問題。如果您遇到同樣的問題,該解決方案很簡單 - 將您的Jenkins url設置爲使用HTTPS協議而不是HTTP。它可以通過詹金斯配置配置 - >詹金斯url
可能重複[詹金斯HTML發佈者插件:沒有外部鏈接與詹金斯1.643](http://stackoverflow.com/questions/34681852/jenkins-html-publisher-plugin -no-external-links-with-jenkins-1-643) –