JenkinsでHTMLを公開するときのセキュリティ設定メモ
Jenkins上でHTMLを公開する場合セキュリティポリシー違反で失敗するのでメモ
スクリプトコンソールで指定する場合
Jenkinsの管理 > スクリプトコンソール
に以下を入力
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; child-src 'self'; frame-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;")
Jenkinsを再起動すると設定が消えるので注意
起動オプションで指定する場合
WindowsサービスのJVM起動パラメータは、それぞれXMLファイルjenkins.xml
およびjenkins-slave.xml
によって制御されます。
これらのファイルは、それぞれ$JENKINS_HOME
とスレーブルートディレクトリにあります。
arguments エレメントに以下の設定を追加して下さい
-Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; child-src 'self'; frame-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;"
設定例
<executable>C:\Program Files\Java\jre1.8.0_231\bin\java</executable>
<arguments>-Xrs -Xmx256m -Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; child-src 'self'; frame-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval';" -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>