官方md:测试项目根目录下README.md
How to dock jenkins?
================
1. Add commands
source ./install.sh
source ./run.sh
2. Add reports
> JUnit: reports/index.xml
> HTML: reports/
1、Jenkins中新建项目:pcflight
2、如果代码在本地Source Code Management选择none,如果代码在Git中则选择Git
3、Build中编写执行脚本source /Users/sunsk/uirecorder/run.sh
4、修改run.sh配置文件
if [ "$1" = "" ]; then
cd /Users/sunsk/uirecorder # 此行代码是新增的
npm run paralleltest
else
cd /Users/sunsk/uirecorder # 此行代码是新增的
npm run singletest $1 $2
fi
5、配置报告
选择Post-build Actions中的Publish Html reports
6、Build Job
执行完后发现,没有html报告,通过控制台可以看到css加载报错:参考https://blog.csdn.net/qq_29427355/article/details/82424467
查看Jenkins目录下,已经生成了html文件。且可以手动打开。后来百度后发现问题在于:Jenkins中配置的CSP(Content Security Policy)
其实说白了就是打开html之后,css没有加载出来(打开控制台可以发现)
这是Jenkins的一个安全策略,默认会设置为一个非常严格的权限集,以防止Jenkins用户在workspace、/userContent、archived artifacts中受到恶意HTML/JS文件的攻击。
默认地,该权限集会设置为:
sandbox; default-src 'none'; img-src 'self'; style-src 'self';
在该配置下,只允许加载:
1、Jenkins服务器上托管的CSS文件
2、Jenkins服务器上托管的图片文件
而如下形式的内容都会被禁止:
1、JavaScript
2、plugins (object/embed)
3、HTML中的内联样式表(Inline style sheets),以及引用的外站CSS文件
4、HTML中的内联图片(Inline image definitions),以及外站引用的图片文件
5、frames
6、web fonts
7、XHR/AJAX
8、etc.
- 解决方案
1、安装startup-trigger-plugin和Groovy插件
2、在Job配置页面,构建触发器,勾选Build when job nodes start
3、在Job配置页面,增加构建步骤Execute system Groovy script,在Groovy Command中输入如下命令
4、重新打开即可查看
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")