安装
-
首先先创建一个项目,选择平台,填写项目名称以及归属团队
-
按照教程安装sentry相关的库(以下示例为Vue)
安装sentry库
# Using yarn yarn add @sentry/vue @sentry/tracing # Using npm npm install --save @sentry/vue @sentry/tracing
在main.js中引入
// main.js import * as Sentry from "@sentry/vue"; import { Integrations } from "@sentry/tracing"; import Router from "vue-router"; const router = new Router({ // ... }); // 如果不需要本地环境错误上报,可以用process.env.NODE_ENV === 'production'判断一下 Sentry.init({ Vue, // dsn 每个项目的id dsn: "http://e0784d672bc7485cbb89ba383c68262e@47.93.161.139:9000/6", // environment 上报的环境 建议 按照 测试、生产区分 environment: process.env.VUE_APP_MODE, // release 上报的版本名称 可以和gitTag相关联 也可以自定义 release: 'uranus-mini@' + process.env.VUE_APP_MODE, integrations: [ new Integrations.BrowserTracing({ routingInstrumentation: Sentry.vueRouterInstrumentation(router), tracingOrigins: ["localhost", "my-site-url.com", /^\//], }), ], // 上报的精度,0--1,1为100% tracesSampleRate: 1.0, });
这样配置就完成啦,可以启动项目,写一个错误来试一下吧~
注意事项
environment 影响的是以下
release影响的是以下(图中的小图标为该项目的代码贡献者,此功能需要配置存储库,后续会提到)
集成
大部分功能的文档都在以下链接:https://docs.sentry.io/product/releases/
点击gitlab,然后按照步骤一一进行即可,完成后点击配置,添加项目对应的仓库即可
2.配合Jenkins在部署后使用sentry-cli(上传sourceMap、设置存储库等等)
需要注意的点:
- 由于使用了sentry-cli,因此需要在Jenkins服务器上安装(我已经装过了)
- 在项目的根目录下创建.sentryclirc文件,里面需要配置一些项目信息
配置项文档:https://docs.sentry.io/product/cli/configuration/``` [defaults] project=uranus-mini org=fe_bizchat url=http://47.93.161.139:9000/ [auth] export SENTRY_AUTH_TOKEN=10ce23211f194142bcedcbb9320598584a6abd45e1414187b940cc88d286d5b3 export SENTRY_URL=http://47.93.161.139:9000/ export SENTRY_ORG=fe_bizchat export SENTRY_PROJECT=uranus-mini token=10ce23211f194142bcedcbb9320598584a6abd45e1414187b940cc88d286d5b3 ```
SENTRY_AUTH_TOKEN: token令牌,从以下获取
3.部署后执行的脚本可以参照基础版(注意,我没有使用Jenkins的Execute shell,而是将脚本写在了项目的根目录下)
文档:https://docs.sentry.io/product/cli/releases/
curl -sL http://47.93.161.139:9000/get-cli/ | bash || true export SENTRY_ORG=fe_bizchat export SENTRY_PROJECT=uranus-mini export SENTRY_ENVIRONMENT=test export SENTRY_RELEASE=uranus-mini@test # 更新版本信息 sentry-cli releases new -p $SENTRY_PROJECT $SENTRY_RELEASE # 设置提交信息 sentry-cli releases set-commits $SENTRY_RELEASE --auto --ignore-empty # 删除所有之前已上传的文件 sentry-cli releases files $SENTRY_RELEASE delete --all # 上传sourceMap和打包后的项目文件 sentry-cli releases files $SENTRY_RELEASE upload-sourcemaps ./dist --ignore ./dist/node_modules ./dist/vue.config.js # 设置发布 sentry-cli releases finalize $SENTRY_RELEASE # 设置环境信息 sentry-cli releases deploys $SENTRY_RELEASE new -e $SENTRY_ENVIRONMENT
SENTRY_ORG: 组织名称
SENTRY_PROJECT: 项目名称
SENTRY_RELEASE: 此次发布的版本
SENTRY_ENVIRONMENT: 本次发行的环境
4.注意Jenkins绑定环境变量