我有一个Jenkins工作,在那里我生成一个HTML-Page作为post buildstep,包含一个图像链接(HTML img标签) . HTML页面由每个作业的HTMLPublisher插件发布 .
这一直很有效 . 但是,由于我已将Jenkins更新为1.643版本,因此当我单击已发布的HTML页面时,我只看到一个空白页面 .
我已经尝试了很多东西并发现了以下奇怪的行为:自更新以来,我无法将外部链接嵌入到我发布的HTML页面中 . 如果我从外部位置嵌入图像(img src =“somelocation / xxx.jpg),则不会显示图像 .
如果我用Firefox检查HTML页面,我可以看到图像标记是灰色的,就像它不可见,但事实并非如此 .
如果我嵌入了一个指向外部位置的普通超链接,我可以看到显示页面中的链接,但是当我点击它时,没有任何反应 .
就像Jenkins在这种情况下不允许外部链接一样 .
请帮帮我:)
谢谢!
Edit:
感谢Dave Bacher,他给了我正确的提示 . 查看此页面以查看Jenkins的新安全策略 .
您必须放宽规则,以便再次允许嵌入外部图像 .
要进行测试,只需在脚本控制台中键入以下内容:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox; img-src *;")
这将允许从任何外部网站嵌入图像 .
如果您在Ubuntu上运行Jenkins并且想要永久设置它,只需编辑文件/ etc / default / jenkins . 在传递给java的#参数下添加以下行:
JAVA_ARGS="-Dhudson.model.DirectoryBrowserSupport.CSP=\"sandbox; img-src *;\""
3 回答
您看到的问题可能与最近的security fixes有关 . 有关如何放松Jenkins配置的详细信息,请参阅Configuring Content Security Policy wiki page .
您可以使用Jenkins Script Console尝试不同的设置 .
另外,在Wiki页面注释时,请确保已升级到HTML Publisher 1.10(或更高版本) .
我知道最初的问题是针对Linux的,但这也有助于Windows用户...如果你将Jenkins作为服务安装(从Jenkins.exe开始),你需要更改jenkins.xml中针对该属性的参数坚持下去
如果要使用不安全的空白选项,请记住将参数放在引号中 . 下面是我在jenkins.xml中的示例行:
如果您使用的是Red Hat,请更新
JENKINS_JAVA_OPTIONS