我有一个 Jenkins 任务,在后构建步骤中生成一个 HTML 页面,其中包含一个图像链接(HTML img 标签)。该 HTML 页面由 HTMLPublisher 插件为每个任务发布。
这一直很好用。但是自从我将 Jenkins 更新到 v.1.643 以来,当我点击发布的 HTML 页面时,我只看到一个空白页面。
我尝试了很多方法,并发现了以下奇怪的行为: 自从更新以来,我无法将外部链接嵌入我发布的 HTML 页面中。 如果我从外部位置嵌入图像(img src="somelocation/xxx.jpg"),则该图像不会显示。
如果我使用 Firefox 检查 HTML 页面,我可以看到图像标记变灰,就像它是看不见的一样,但实际上它并非如此。
如果我嵌入一个指向外部位置的普通超链接,则可以在显示的页面中看到链接,但是当我点击它时,什么也不会发生。
就像 Jenkins 不允许在此上下文中使用外部链接。
请在此帮助我:)
谢谢!
编辑:
感谢 Dave Bacher,他给了我正确的提示。 查看此页面以查看 Jenkins 的新安全策略。
您必须放宽规则,以便再次允许嵌入外部图像。
为了测试它,只需在脚本控制台中输入以下内容:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox; img-src *;")
这将允许嵌入来自任何外部网站的图像。
如果你在Ubuntu上运行Jenkins并且想要永久设置这个功能,只需编辑文件/etc/default/jenkins。在# arguments to pass to java下添加以下行:
JAVA_ARGS="-Dhudson.model.DirectoryBrowserSupport.CSP=\"sandbox; img-src *;\""