欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Jenkins中使用HTML Publisher plugin插件

程序员文章站 2022-04-30 12:50:04
...

一、安装html插件

方法一:系统中直接安装

在【系统设置】-【管理插件】搜索HTML Publisher plugin后进行安装即可

方法二:下载插件后手动安装

http://updates.jenkins-ci.org/download/plugins/htmlpublisher/

登录地址,下载最新版本的插件:htmlpublisher.hpi

【系统设置】-【管理插件】-【高级】-【上传插件】,选择刚刚下载的文件,点击“上传”按钮即可

Jenkins中使用HTML Publisher plugin插件

二、项目中配置插件

  1. jenkins项目配置页面【增加构建后操作步骤】,选择Publish HTML reports
  2. 配置完成后,点击构建即可

Jenkins中使用HTML Publisher plugin插件

此处做下插件的简单介绍:

  • HTML directory to archive:相对于工作空间的HTML报告目录的路径
  • Index page[s]:在报告目录中提供链接的文件
  • Index page title[s] (Optional):索引页的可选标题,将用作选项卡名称。如果未提供,则将使用文件名
  • Report title:要为构建项目显示的报告的名称,例如“代码覆盖率”
  • Keep past HTML reports:选中,则归档所有成功构建的报告,否则仅归档最近稳定的报告
  • Always link to last build:选中此控件和Keep past HTML reports控件,则即使构建失败,也可以链接到上一个生成的报表
  • Allow missing report:未选中,如果报表目录不存在,则生成将标记为失败
  • Include files:指定要归档报表目录中的哪些文件。默认为存档给定报表目录中的所有文件
  • Escape underscores in Report Title:选中,则报表标题中的下划线将与其他非字母数字字符一起转义为5F

Jenkins中使用HTML Publisher plugin插件

三、遇到的问题

问题一、打开报告后不显示样式,显示如下

Jenkins中使用HTML Publisher plugin插件

问题原因:

Jenkins为了避免受到恶意HTML/JS文件的攻击,会默认将安全策略CSP设置为:

sandbox; default-src ‘none’; img-src ‘self’; style-src ‘self’;

在此配置下,只允许加载:

1、Jenkins服务器上托管的CSS文件

2、Jenkins服务器上托管的图片文件

以下形式的内容都会被禁止:

1、 JavaScript
2、 plugins (object/embed)
3、 HTML中的内联样式表(Inlinestyle sheets),以及引用的外站CSS文件
4、 HTML中的内联图片(Inlineimage definitions),以及外站引用的图片文件
5、 frames
6、 web fonts
7、 XHR/AJAX


解决方法:

  1. 安装Startup-trigger和Groovy插件
  2. 在Job配置页面,构建触发器,勾选Build when job nodes start
  3. 在Job配置页面,增加构建步骤Execute system Groovy script,在Groovy Command中输入下面命令,即可
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

Jenkins中使用HTML Publisher plugin插件

Jenkins中使用HTML Publisher plugin插件

Jenkins中使用HTML Publisher plugin插件

Jenkins中使用HTML Publisher plugin插件

 

问题二:FATAL: command execution failed
java.io.IOException: Cannot run program "groovy" (in directory "D:\workspace\test"): CreateProcess error=2, 系统找不到指定的文件

Jenkins中使用HTML Publisher plugin插件

原因是,job配置中,配置了Execute Groovy script,应该配置Execute system Groovy script

关于这两者之间的差异,简单地说,Groovy Script相当于是运行在master/slave系统JVM环境中,而system groovy script,则是运行在Jenkins master的JVM环境中。

大功告成

看看最后展示的页面吧

Jenkins中使用HTML Publisher plugin插件

相关标签: Devops