Jenkins裏html page無法正常展示css樣式問題解決方法

通過html publisher插件出來的html page真是沒眼看的…樣式全部丟失,就剩文字了。

原來爲了安全性,Jenkins把css,js,ajax等都禁掉了。如果Jenkins是搭建在公司內網的話,可以考慮犧牲部分安全性,達到我們想要的效果的。

有個一次性的方法(Jenkins重啓之後就不生效),就是在Manage Jenkins --> Script Console那裏執行命令:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' 'unsafe-inline'")

爲了應對Jenkins重啓後上述設置失效,可以在Jenkins Home路徑下新建一個init.groovy文件,將上述命令寫入文件,Jenkins重啓之後就會自動執行這個init.groovy腳本。

Jenkins Home一般就是Jenkins的安裝路徑,也可以在Manage Jenkins --> Configure System那裏查看,如下所示:

在這裏插入圖片描述
其實還有個路子,不用Html publisher插件,把每次build的html頁面(或者任何執行結果文件)當做artifacts存檔,然後點開執行歷史,html頁面或者任何當做artifacts存檔的結果文件就在那裏。

具體步驟:
項目配置那裏增加一個Post-build Actions,選擇Archive the Artifacts。項目執行後的產出放置到workspace裏面去,然後在Archive the Artifacts輸入框裏寫相對於workspace的路徑(可以使用通配符,比如*.html意思就是把workspace folder裏面的所有html文件當做artifacts存檔)。存檔之後,在master機器的JenkinsHome\Jobs\YourJobName\builds文件夾裏,每次運行的結果都會有個Build ID(數字)文件夾,並且artifacts都存檔在了這個文件夾裏。

點開project進去,左下角的build history那裏,選擇歷史的Build ID點進去,就能看到那次運行的artifacts了.

html publisher的話,適用於整個job級別的html頁面信息展示,每執行一次,這個Html頁面就相應有更新。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章