美文网首页
二、Uirecorder之Jenkins持续集成

二、Uirecorder之Jenkins持续集成

作者: 叫我松鼠哥哥 | 来源:发表于2019-08-21 20:14 被阅读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.

    • 解决方案
      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", "")
    
    image.png image.png

    相关文章

      网友评论

          本文标题:二、Uirecorder之Jenkins持续集成

          本文链接:https://www.haomeiwen.com/subject/dzzisctx.html