最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • sentry-cli上传sourcemap

    正文概述 掘金(iskeepingon)   2020-11-25   1029

    前言

    文档描述了上传sourcemap到sentry的操作流程以及注意点。

    目的

    方便定位错误和异常在源码中的位置,方便快速解决线上问题,以达到减少成本、提高收益的目的。

    流程

    1、gulp中配置名为jsmin的task

    该task功能是压缩脚本并生成脚本的sourcemap,这里在配置的时候也遇到了一点问题,一直生成不全sourcemap文件。 后来经过仔细查看gulp 4官方文档以及验证,得到经验(一定要写好task,要么使用cb,要么使用gulp.src)。

    gulp源码:

    .pipe(sourceMap.init())
    // 其他操作
    .pipe(sourceMap.write('./'))
    .pipe(gulp.dest(distPath.js))
    

    2、安装sentry-cli

    有两种方式:

    第一种:

    curl -sL https://sentry.io/get-cli/ | bash
    

    第二种:

    npm install @sentry/cli
    

    在这里选择的是第二种,并将安装sentry-cli的操作直接写在build.sh中,但是由于在网格 npm i -g @sentry/cli 安装太慢,以及安装不成功,报权限问题。 后面通过咨询傅雄军,了解到网格不建议直接在项目的build.sh中执行软件安装等操作,于是又联系了运维部门相关人员钱能武帮忙在服务器安装了sentry-cli,问题得到解决。

    3、上传脚本的sourcemap

    通过阅读sentry的文档,就直接就开始写上传脚本并在st环境测试验证,发现一度把jenkins服务拖垮,后来经过与各位大佬的沟通, 了解到之前写的上传脚本,有等待用户输入的交互,才导致jenkins服务挂了。在王立栋大佬的帮助下写好了上传的shell脚本,并且上传成功。

    shell源码:

    变量初始化:

    SENTRY_URL=http://sentry.zt.xxx.cn/
    SENTRY_PROJECT=www_xxx_com
    SENTRY_PROJECT_VERSION=www_xxx_com@v1.0
    SENTRY_ORG=xxx
    SENTRY_AUTH_TOKEN=xxxx
    SENTRY_URL_PREFIX=http://www.xxx.com/js
    SENTRY_URL_DIST=./dist/js
    

    上传:

    /usr/local/bin/sentry-cli --url ${SENTRY_URL} --auth-token ${SENTRY_AUTH_TOKEN} releases --org ${SENTRY_ORG} --project ${SENTRY_PROJECT} files ${SENTRY_PROJECT_VERSION} upload-sourcemaps --url-prefix ${SENTRY_URL_PREFIX} ${SENTRY_URL_DIST}
    

    4、上传sourcemap之后的验证

    以为做到这一步这个工作已经完成了,没想到在sentry系统上面并没有看到预期的效果(异常和错误显示在源码的某行某列),自以为上传sourcemap就可以了, 这里又经过多次咨询王亚军、仔细对比分析,以及实践验证,才认识到只有上传脚本以及对应的sourcemap,在sentry系统上才能看到预期的效果。

    预期的效果如下:

    sentry-cli上传sourcemap

    5、上传sourcemap之后,dist包部署

    到了这里,基本大功告成了,但是有一点要注意的是,我们并不希望我们项目的源码在浏览器端可以阅读到, 这里大佬又帮忙在shell脚本中将部署的资源中的文件名以.js.map结尾的文件排除,不打包进部署的包中。

    shell源码:

    其中exclude就是排除

    tar -zcf "${BASE_DIR}/output_scm/${APP_PKG_NAME}.tar.gz" "${APP_PKG_NAME}" --exclude *.js.map
    

    后语

    在完成这个任务的过程中,感谢有大佬们的帮助!


    起源地下载网 » sentry-cli上传sourcemap

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元