【问题标题】:How to Permanently Resolve HTML Publisher Plugin issue in Jenkins showing Extent Reports?如何永久解决 Jenkins 中显示范围报告的 HTML Publisher 插件问题?
【发布时间】:2019-08-05 15:56:02
【问题描述】:

使用 HTML Published Plugin 在 Jenkins 中发布范围报告,结果无法以正确的格式显示。

要解决此问题,在脚本控制台中运行此命令,它开始正常工作:

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';")

一旦 Jenkins 重新启动,同样的问题就会发生。在这种情况下,我每次都必须使用此代码。请指导我如何永久设置代码。

【问题讨论】:

  • 如果您包含 Jenkins 版本、插件版本以及基于标志的一些简洁性(即:直截了当),它会增加清晰度。我相信编辑足够简洁,我的回复为您提供了选择。

标签: java selenium jenkins extentreports


【解决方案1】:

当您在脚本控制台中运行此类命令时,它们只会影响正在运行的会话,并且会在重新启动恢复到存储的设置/配置时丢失。

根据您启动 Jenkins 的方式以及对您最方便的方式,您可以使用多种选项将它们设为“永久”。

这篇文章描述了在 jenkins 脚本中将它们设置为 JENKINS_JAVA_OPTIONS

您可以在 java 启动命令中将它们作为命令行选项传递,如 Features controlled by system properties 顶部所示(确保在 -jar 参数之前传递所有这些参数,否则它们将被忽略)。

您可以使用 groovy Post-initialization script。在 ${JENKINS_HOME}/init.groovy 或 ${JENKINS_HOME}/init.groovy.d/*.groovy 中的文件

您应该记住,将 CSP settings 可能的 exposes your Jenkins 实例更改为外部风险 - 请阅读。虽然 Jenkins 代码最近得到了加强以使其更安全,但仍有很多风险,尤其是在无数插件中。您应该只允许使插件正常工作所需的最低数量。

如果各个插件提供者准确地详细说明必须允许他们的插件正常工作并仍然尽可能保证 Jenkins 的安全,那就太好了。考虑在http://issues.jenkins-ci.org/ 提出针对相关插件的票。

【讨论】:

  • 谢谢@Ian W,您的选择引导我找到合适的解决方案。我为解决这个问题所做的是将 -Dhudson.model.DirectoryBrowserSupport.CSP= 放在 jenkins.xml 文件中的参数标记下。这段代码应该在-jar之前,否则可以忽略。现在重新启动时,我不必一次又一次地运行任何代码。
  • @usman-kokab,我强烈建议您查看我关于 CSP 和安全性的链接。您基本上禁用了 Jenkins 在 1.625.3 中引入的安全保护(有充分的理由)。您应该只允许 tbe 插件工作所需的最低设置。
  • 我正在使用 HTML Publisher 插件在范围报告中显示失败的测试屏幕截图,现在一切正常,但屏幕截图显示不正确。它仅显示缩略图,无法查看图像预览。您也可以为此提供解决方案吗?提前致谢!
猜你喜欢
  • 2022-11-16
  • 1970-01-01
  • 1970-01-01
  • 2019-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-27
  • 1970-01-01
相关资源
最近更新 更多