postgresql初始化
1 2 3 4
| postgreSql createdb -E utf-8 sentry alter role feteam superuser; sentry upgrade sentry config generate-secret-key
|
supervisor程管理工具
Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程。
通过Supervisor 开启sentry-web、sentry-worker、sentry-cron
1 2 3 4 5 6 7
| supervisord 启动Supervisord supervisorctl stop program_name 停止某个进程 supervisorctl start program_name 启动某个进程 supervisorctl restart program_name 重启某个进程 supervisorctl stop all 停止全部进程 supervisorctl reload 载入最新的配置文件(sentry.conf.py、config.yml),停止原有进程并按新的配置启动、管理所有进程 supervisorctl update 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启
|
原理

Sentry接入
先新建sentry项目
在sentryyy.com的xxx组织下面新建vue项目
建议项目名字跟git上的统一,方便维护

配置index.js
在index.js文件配置

配置FEC
配置fec开启sourceMap,并且注入sentry变量

注意
1
| SENTRY_DNS: JSON.stringify('https://a30b93a6aae34215bbecd08c217cbc6a@sentry.yy.com/22')
|
要替换成你新建工程的dns
如何查看工程的dns

配置gilab-ci
配置gitlab-ci

参数解读
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| variables: GIT_STRATEGY: none SENTRY_PROJECT: $CI_PROJECT_NAME #对应你第一个sentry新建的项目名字 SENTRY_VERSION: $CI_COMMIT_SHA SENTRY_URL: https://sentry.yy.com/ SENTRY_AUTH_TOKEN: 2778bb1f7633486bb21f4befd9be63e534a26c34916643aabc0dd97ec796e38f # 这个可以改成你的token SENTRY_ORG: hago #我们组织的名字 before_script: - npm i -g @yy/dragont-preset-feteam @sentry/cli --unsafe-perm #多安装了@sentry/cli插件 script: - sentry-cli releases new $SENTRY_VERSION # 新建一个release分支 - sentry-cli releases files $SENTRY_VERSION upload-sourcemaps ./output/assets/js --url-prefix "~/assets/js" --no-rewrite --validate #上传souurceMap到你的release分支,注意--url-prefix 参数要跟你的实际工程对应 - sentry-cli releases finalize $SENTRY_VERSION - sentry-cli releases files $CI_COMMIT_SHA list - sentry-cli releases deploys $CI_COMMIT_SHA new -e $CI_COMMIT_REF_NAME - sentry-cli releases deploys $CI_COMMIT_SHA list - rm ./output/assets/js/**.map # 最后一步删掉sourceMap,防止代码发到正式环境 - dragont ci
|
具体跑成功的ci

最后一步,去掉eslint的报错
Eslint配置

实际接入运行情况
每次在master分支上fec o就会新建一个release分支

每个release分支包含上传的sourceMap

每个拦击到的错误
