系统版本:Centos7.2
Jenkins版本:2.3
注:本文参考官方文档 https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy
搜索了下目前关于firefox和chrome不显示测试报告的解决方案,大部分都通过“脚本命令行”实现。这种方式的好处是即时生效,无需进行重启Jenkins服务操作。但一旦服务器维护重启,又需要再次通过“脚本命令行”进行配置,容易遗漏。故整理了永久修改CSP的方法,以便于重启Jenkins后,配置依然生效。步骤如下:
1. 通过systemctl status jenkins 查看jenkins的启动脚本文件位置
[root@develop02 ~]# systemctl status jenkins
● jenkins.service - LSB: Jenkins Continuous Integration Server
Loaded: loaded (
/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: active (running) since Tue 2017-02-07 15:25:23 CST; 1h 4min ago
Docs: man:systemd-sysv-generator(8)
Process: 936 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/jenkins.service
└─1616 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -Dhudson.model.Direc...
2. 进入后查看jenkins的启动文件,可以查到jenkins配置文件所在位置。
vim /etc/rc.d/init.d/jenkins
/JENKINS_CONFIG
3. 进入配置文件所在位置
vim /etc/sysconfig/jenkins
进入后增加环境变量
HUDSON_OPTIONS="-Dhudson.model.DirectoryBrowserSupport.CSP=\"sandbox; default-src 'unsafe-inline';\""
4. 再次进入jenkins启动文件,修改代码,增加HUDSON_OPTIONS变量
vim /etc/rc.d/init.d/jenkins
JAVA_CMD="$JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME
$HUDSON_OPTIONS -jar $JENKINS_WAR"
PARAMS="--logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon"
5. 重启Jenkins服务,使配置生效。
systemctl restart jenkins
6. 查看jenkins服启动参数,配置已生效
/etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins
-Dhudson.model.DirectoryBrowserSupport.CSP="script-src 'unsafe-inline'" -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
7.进入到jenkins的系统管理->脚本命令行,输入命令查看系统属性
System.getProperty("hudson.model.DirectoryBrowserSupport.CSP")
8. 可看到配置已修改成功