需要你的帮助!我一直在努力将我的自动化测试集成到Jenkins。我使用Serenity BDD和JBehave。当我手动运行测试时,我的Serenity报告显示OK。但是,当我将测试集成到Jenkins并尝试通过Publish HTML Report Plugin显示报告时,它无法显示饼图,并且还缺少其他元素。你知道怎么解决吗?
yebdmbv41#
实际上你不需要降级Jenkins。这个问题的发生是因为现代浏览器支持新的内容安全策略头。正确的解决方法如下(CentOS 7的代码示例和路径):
sudo vim /etc/sysconfig/jenkins set java options as following: JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP=\"sandbox allow-forms allow-scripts; default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline';\"" # save and exit sudo /etc/init.d/jenkins restart
有关内容安全策略的详细信息:http://content-security-policy.com
wbgh16ku2#
我得到了它的工作如下Ubuntu 16.041.后藤/etc/default/jenkins并设置以下值JAVA_ARGS="-Djava.awt.headless=true -Dhudson.model.目录浏览器支持.CSP=\“沙箱允许格式允许脚本;默认-src“自身”; script-src '自我' '不安全内联';样式-src 'self' '不安全内联'; img-src数据:;"”1.使用以下命令重新启动jenkinshttp://localhost:8080/safeRestart1.后藤Jenkins〉管理Jenkins〉在下面运行脚本控制台系统.setProperty(“哈德逊模型目录浏览器支持.CSP”,“”)1.关闭现有的Jenkins浏览器窗口,并以隐身模式打开新窗口。1.参考文献Jenkins Content Security PolicyJenkins - HTML Publisher Plugin - No CSS is displayed when report is viewed in Jenkins Server
4ktjp1zp3#
我也一直面临着同样的问题。我使用脚本控制台中的一些代码通过HTML插件显示扩展报告,它工作,但饼图不可见,然后经过大量探索,最后我也找到了以下代码,我也可以查看我的扩展报告中的饼图。进入脚本控制台并运行以下代码;
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src * 'unsafe-inline' 'unsafe-eval'; script-src * 'unsafe-inline' 'unsafe-eval'; connect-src * 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src *; style-src * 'unsafe-inline';")
h43kikqp4#
由于它是一个Java属性,因此可以在Jenkins应用程序内部设置,也可以在Jenkins开始时设置,在我使用Ubuntu的情况下,要添加它,需要编辑/usr/lib/systemd/system/jenkins.service并添加以下行:
/usr/lib/systemd/system/jenkins.service
# Arguments for display Thucydes Reports correctly Environment="JAVA_OPTS=-Dhudson.model.DirectoryBrowserSupport.CSP=\"default-src \"*\" 'unsafe-inline' 'unsafe-eval'; script-src \"*\" 'unsafe-inline' 'unsafe-eval'; connect-src \"*\" 'unsafe-inline'; img-src \"*\" data: blob: 'unsafe-inline'; frame-src \"*\"; style-src \"*\" 'unsafe-inline';\""
保存文件并执行以下命令以完成该过程:
sudo systemctl daemon-reload sudo service jenkins restart
现在,每次Jenkins重新启动时,都会设置该属性!
sbtkgmzw5#
解决了需要降低Jenkins的等级。
5条答案
按热度按时间yebdmbv41#
实际上你不需要降级Jenkins。这个问题的发生是因为现代浏览器支持新的内容安全策略头。正确的解决方法如下(CentOS 7的代码示例和路径):
有关内容安全策略的详细信息:http://content-security-policy.com
wbgh16ku2#
我得到了它的工作如下Ubuntu 16.04
1.后藤/etc/default/jenkins并设置以下值
JAVA_ARGS="-Djava.awt.headless=true -Dhudson.model.目录浏览器支持.CSP=\“沙箱允许格式允许脚本;默认-src“自身”; script-src '自我' '不安全内联';样式-src 'self' '不安全内联'; img-src数据:;"”
1.使用以下命令重新启动jenkins
http://localhost:8080/safeRestart
1.后藤Jenkins〉管理Jenkins〉在下面运行脚本控制台
系统.setProperty(“哈德逊模型目录浏览器支持.CSP”,“”)
1.关闭现有的Jenkins浏览器窗口,并以隐身模式打开新窗口。
1.参考文献
Jenkins Content Security Policy
Jenkins - HTML Publisher Plugin - No CSS is displayed when report is viewed in Jenkins Server
4ktjp1zp3#
我也一直面临着同样的问题。我使用脚本控制台中的一些代码通过HTML插件显示扩展报告,它工作,但饼图不可见,然后经过大量探索,最后我也找到了以下代码,我也可以查看我的扩展报告中的饼图。进入脚本控制台并运行以下代码;
h43kikqp4#
由于它是一个Java属性,因此可以在Jenkins应用程序内部设置,也可以在Jenkins开始时设置,在我使用Ubuntu的情况下,要添加它,需要编辑
/usr/lib/systemd/system/jenkins.service
并添加以下行:保存文件并执行以下命令以完成该过程:
现在,每次Jenkins重新启动时,都会设置该属性!
sbtkgmzw5#
解决了需要降低Jenkins的等级。