JenkinsでHTMLを公開するときのセキュリティ設定メモ

Author

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>