Jenkins 安装的HTML Publisher Plugin 插件无法html文件

1、临时解决方案:

登陆jenkins系统,点击"系统管理"----"脚本命令行",执行如下命令,重新build job

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

以上方法,在每次重启Jenkins后会重置jenkins的安全配置,需要再次执行;

下面就介绍下永久解决的方法:
jenkins上安装 Groovy 插件,用来执行系统 Groovy 脚本,安装完成后,在增加构建步骤里添加:
Execute system Groovy script


执行脚本:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

不过,该方法还存在一个问题:该配置只是临时生效,当重启Jenkins后,Content Security Policy又会恢复为默认值,从而HTML样式又没法展示了。

当前,Jenkins官方还没有相应的解决方法,我们只能在每次启动或重启Jenkins时,重新修改该安全策略。

如果手工地来重复这项工作,也是可行,但并不是一个好的解决方案。

回到刚才的Script console,会发现我们执行的命令其实就是一段Groovy代码;那么,如果我们可以实现在Jenkins每次启动时自动地执行该Groovy代码,那么也就同样能解决我们的问题了。

好在Jenkins已经有相应的插件:

搜索安装startup-trigger-plugin和Groovy插件后,我们就可以进行配置了。

配置方式如下:

  • 新建一个job,该job专门用于Jenkins启动时执行的配置命令;
  • 在Build Triggers模块下,勾选Build when job nodes start;
  • 在Build模块下,Add build step->Execute system Groovy script,在Groovy Script中输入配置命令,System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")。

需要注意的是,添加构建步骤的时候,应该选择Execute system Groovy script,而不是Execute Groovy script。关于这两者之间的差异,简单地说,Groovy Script相当于是运行在master/slave系统JVM环境中,而system groovy script,则是运行在Jenkins master的JVM环境中,与前面提到的Jenkins Script Console功能相同。如需了解更多信息,可查看Groovy plugin的详细说明

至此,我们就彻底解决HTML样式展示异常的问题了。

猜你喜欢

转载自blog.csdn.net/ezreal_tao/article/details/82390698