二、Uirecorder之Jenkins持续集成

2019-08-21  本文已影响0人  叫我松鼠哥哥

官方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


image.png

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.

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
image.png image.png
上一篇 下一篇

猜你喜欢

热点阅读