Val*_*all 68 html css jenkins jenkins-plugins
我在Jenkins HTML Publisher插件中遇到了一个奇怪的问题,在Jenkins中查看时,我添加到报表中的所有奇特的CSS都被删除了.如果我将报告下载到本地,我可以看到CSS格式.Jenkins中是否有允许查看CSS的设置?
我在詹金斯的HTML发布者设置:
在Jenkins中显示我的报告页面:
我在本地显示的报告页面:
Val*_*all 134
找出问题所在.在这里为其他用户分享.
由于Jenkins中的内容安全策略,CSS被剥离.(https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy)
默认规则设置为:
sandbox; default-src 'none'; img-src 'self'; style-src 'self';
Run Code Online (Sandbox Code Playgroud)
此规则集导致以下结果:
要放松这个规则,请转到
单击左侧的脚本控制台,然后键入以下命令:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
然后按运行.如果在"结果"标题下面看到输出为"结果:",则禁用保护.重新运行您的构建,您可以看到存档的新HTML文件将启用CSS.
lax*_*089 20
在CentOS上,以下解决方案(在另一个答案的评论中建议)是唯一对我有用的解决方案:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' 'unsafe-inline' data:;")
我的具体问题是 Serenity BDD 报告中缺少图像/css。执行这些步骤后,我的 Serenity 报告已正确渲染所有图像/css,包括在此更改之前执行的构建的报告。该解决方案也适用于任何已发布的基于 html 的报告。
jit*_*hew 14
在CentOs中,在html报告中启用图像
sudo vi /etc/sysconfig/jenkins
JENKINS_JAVA_OPTION
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP=\"default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' 'unsafe-inline' data:;\""
即使在重新启动jenkins的服务器之后,这也可以工作.
指示
default-src:default-src是加载内容的默认策略,如JavaScript,图像,CSS,字体,AJAX请求,框架,HTML5媒体
img-src: 定义有效的图像源.
来源价值
'self' - 允许从同一个源(相同的方案,主机和端口)加载资源.
用法:
default-src 'self'
'unsafe-inline' - 允许使用内联源元素,例如样式属性,onclick或脚本标记正文(取决于应用它的源的上下文)和javascript:URI.
用法:
default-src 'unsafe-inline'
'unsafe-eval' - 允许不安全的动态代码评估,例如JavaScript eval()
用法:
default-src 'unsafe-eval'
data: - 允许通过数据方案加载资源(例如Base64编码图像).
用法:
img-src 'self' data:
请在此处详细了解内容安全政策
Som*_*Som 11
转到“管理Jenkins”->“脚本控制台”,然后运行以下命令:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
Run Code Online (Sandbox Code Playgroud)
twa*_*lig 10
(以下解决方案适用于Windows.)
一个永久性的解决方法是改变一条线[Jenkins directory]\jenkins.xml
(对我而言C:\Jenkins\jenkins.xml
)
<executable>java.exe</executable>
<arguments>[arguments are here]</arguments>
Run Code Online (Sandbox Code Playgroud)
将以下参数添加到以空格分隔的参数列表中:
-Dhudson.model.DirectoryBrowserSupport.CSP=
Run Code Online (Sandbox Code Playgroud)
然后重新启动Jenkins服务以获取更改.
您可以使用Vall的答案中指定的groovy命令来解决此问题.
效果到位,直到詹金斯重新开始,之后你必须再做一次.
解决此问题的解决方案是配置一个在jenkins启动时为您执行此操作的作业.
您可以使用Startup Trigger插件执行此操作.
安装后,创建一个新作业,您将需要检查" 构建触发器"部分下的新复选框.
然后使用以下命令添加Execute系统Groovy脚本构建步骤:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")
Run Code Online (Sandbox Code Playgroud)
保存,一切都应该工作.
对于Ubuntu 14版本,有用的特殊插件是:
https://wiki.jenkins-ci.org/display/JENKINS/Startup+Trigger-开始在詹金斯启动工作
https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin-运行系统Groovy脚本
我做了一份工作,从詹金斯重新启动开始并设置了参数。
并添加了系统Groovy脚本来设置参数。
System.setProperty(“ hudson.model.DirectoryBrowserSupport.CSP”,“沙箱; img-src'self';”)
小智 5
去
管理 Jenkins --> 脚本控制台
并输入以下命令:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
Run Code Online (Sandbox Code Playgroud)
然后按运行。如果输出为“结果”,则重新运行构建检查 HTML 报告格式
归档时间: |
|
查看次数: |
66744 次 |
最近记录: |