Jenkins(08):Jenkins 中无法展示 HTML 样式的问题の终极解决大法

一、前言

在做jenkins持续集成时,我们常常用到HTML Publisher Plugin插件来显示测试报告。并在其中搭配css、js等以实现各种自定义样式,如图表、动画等。
然而Jenkins开发者出于安全考虑,默认将其Jenkins的安全策略(CSP)设置为:

sandbox; default-src 'none'; img-src 'self'; style-src 'self';

在这样的限制下,我们无法引用外部js,css等来完整展示想要的测试报告效果,以致于最后的报告展示样式面目全非。在网上也看到了很多的帖子讲如何解决这个问题,但很多都是一次性的,每次重启之后都还会出现HTML Report无法正常展示的问题。本文以作者亲身经历分享下该问题的解决过程,以作今后复用。

二、方案梗概

创建一个项目,在其中写入修改Jenkins安全设置的Groovy代码,并配置该项目在每一次Jenkins重启后自动执行。

三、下载插件

首先我们需要下载这两个Jenkins插件:startup-trigger-plugin,和groovy
大家可以在这个网址内进行搜索及下载:Jenkins插件下载网站
下载完成后在Jenkins管理-插件管理-高级-上传插件-选择刚刚下载好的hpi文件,然后点击上传。
上传完成后会自动安装,不需要重启Jenkins。
在这里插入图片描述
StartUp-Trigger插件的作用是让项目在重启后自动构建。
在这里插入图片描述
Groovy插件的作用是修改Jenkins安全策略,放开对css,js等的限制。

四、配置Jenkins

接下来我们在Jenkins中创建一个自由风格的项目,项目名任意取(我的叫Startup-Trigger),进入项目配置页面。配置分两步:
① 首先勾选构建触发器中的Build when job nodes start,勾选上就行,别的地方不需要修改:
在这里插入图片描述
② 增加构建步骤,选择Execute System Groovy Script(切记不要选成Execute Groovy Script)。
然后在其中写入如下命令:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "script-src 'unsafe-inline'")

在这里插入图片描述
别忘了保存修改。

至此,配置完成。此时再重启一下Jenkins,便可以发现刚刚我们配置的项目被自动执行了,打开我们的HTML Report,报告展示效果正常。


软件测试工程师一只,也在不断的学习阶段,平时的小经验不定期分享。
博主经验有限,若有不足,欢迎交流,共同改进~
有意可加Q群 908417285 交流学习。
乾坤未定,你我皆是黑马
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千川Maple

请作者喝杯咖啡吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值