1. ホーム
  2. html

[解決済み] Jenkins - HTML Publisher Plugin - Jenkins Serverでレポートを表示すると、CSSが表示されない。

2022-05-14 17:02:49

質問

Jenkins HTML Publisher プラグインに奇妙な問題があります。私がレポートに追加した派手な CSS はすべて、Jenkins で表示すると取り除かれてしまいます。レポートをローカルにダウンロードすると、CSS の書式設定を見ることができます。Jenkinsに、CSSを表示できるようにする設定があるのでしょうか?

Jenkinsの私のHTMLパブリッシャー設定です。

Jenkinsで表示した場合の私のレポートページ :

ローカルに表示した場合のマイレポートページ :

どのように解決するのですか?

問題が判明しました。他のユーザーのために、ここでそれを共有します。

Jenkinsのコンテンツセキュリティポリシーのため、CSSが剥がされる。( https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy )

デフォルトのルールが設定されています。

sandbox; default-src 'none'; img-src 'self'; style-src 'self';

このルールセットの結果は以下のようになります。

  • JavaScriptを一切許可しない
  • プラグイン(オブジェクト/埋め込み)の使用不可
  • インラインCSS、他サイトのCSSの使用不可
  • 他のサイトからの画像 禁止
  • フレームは使用できません
  • ウェブフォントの使用不可
  • XHR/AJAXの使用不可、など。

このルールを緩和するために

  1. Jenkins-> を管理します。
  2. ノードの管理->
  3. 設定(歯車アイコン)->
  4. 左のScript consoleをクリックし、以下のコマンドを入力します。

    System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

と入力し、実行ボタンを押します。Result" ヘッダーの下に 'Result:' と出力された場合、保護が無効になっています。ビルドを再実行すると、アーカイブされた新しい HTML ファイルに CSS が有効になっていることが確認できます。