Jenkins测试报告样式优化

方式一:修改Content Security Policy(临时解决,Jenkins重启后失效)

1、jenkins首页--->ManageJenkins--->Tools and Actions标题下--->Script Console

2、粘贴脚本输入框中:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

3、点右下角的RUN按钮执行

4、重新构建项目即可展示HTML测试报告

注意:

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

方式二:修改jenkins配置文件(好像不行)

jenkins安装目录下找到jenkins.xml文件

找到arguments标签替换前半部分即可(到 -jar)

<arguments>-Xrs -Xmx256m -Dhudson.model.DirectoryBrowserSupport.CSP= -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar

重启jenkins生效

替换前:

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "Dmermaid

替换后:

<arguments>-Xrs -Xmx256m -Dhudson.model.DirectoryBrowserSupport.CSP= -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "D:\ProgramFiles\jenkins\jenkins.war" --httpPort=8080 --webroot="%LocalAppData%\Jenkins\war"</arguments>

【优先】方式三:通过groovy插件实现每次启动自动执行groovy代码

当前,Jenkins官方还没有相应的解决方法,我们只能在每次启动或重启Jenkins时,重新修改该安全策略。如果手工地来重复这项工作,也是可行,但并不是一个好的解决方案。

通过【方法一修改安全策略】,会发现我们执行的命令其实就是一段Groovy代码,那么,如果我们可以实现在Jenkins每次启动时自动地执行该Groovy代码,那么也就同样能解决我们的问题了。

安装插件Startup Trigger: 可实现在Jenkins节点(master/slave)启动时触发构建

安装插件Groovy plugin: 可实现直接执行Groovy代码

来到任务配置页面在"构建触发器(Build Triggers)"模块,选择"Buildwhen job nodes start"选项

在"构建(Build)"模块,选择"Execute system Groovy script",执行如下Groovy命令:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

保存配置,重新构建生效

注意:添加构建步骤的时候,应该选择Execute system Groovy scrpt,而不是Execute Groovy script。

关于这两者之间的差异,简单地说,Groovy Scrpt相当于是运行在masterslave系统JVM环境中,而system groovy script,则是运行在Jenkins master的JVM环境中,与前面提到的Jenkins Script Console功能相同。如需了解更多信息,可查看。

相关推荐
叱咤少帅(少帅)9 小时前
新版本jenkins的共享库的实现
运维·jenkins
2601_962297259 小时前
Python、Pytest、Allure、Selenium和Jenkins实现自动化测试集成实例
python·selenium·jenkins·pytest·allure
大模型丫丫9 小时前
工业级 RAG 为什么需要 Elasticsearch?
elasticsearch·django·jenkins
X1A0RAN2 天前
Jenkins 流水线跨阶段的数据共享:让变量“动态更新“成为可能
java·servlet·jenkins
Ningcode_cloud2 天前
什么是CICD? GitLab + Jenkins 持续集成实战部署手册
运维·ci/cd·云原生·容器·gitlab·jenkins
tianyuanwo2 天前
Jenkins 邮件插件选型指南:从命名原理到场景实践
jenkins·plugin·email
姚永强2 天前
安装Jenkins
运维·jenkins
成茂峰3 天前
实战:内外网隔离环境下基于 Jenkins + PowerShell 的自动化 CI 构建与邮件通知方案
ci/cd·自动化·jenkins
tianyuanwo3 天前
Jenkins Pipeline 沙箱与非沙箱:CPS、序列化与白名单的深度解读(含 `take()` 与 `subList()` 实战对比)
pipeline·jenkins·groovy·take·sublist
Sayai6 天前
Elasticsearch 快照备份到 NAS(NFS)实战:SLM 自动化 + 365 天保留策略
elasticsearch·自动化·jenkins