Sentry-cli上传Source Maps后项目对应标签页无文件显示问题
问题描述
环境信息
package.json
"@sentry/angular": "6.18.2", "@sentry/cli": "2.5.2", "@sentry/tracing": "6.18.2",
.sentryclirc
[auth] token=74cc88aha9414f36a8f3943550a1.... [defaults] url = https://sentry.my-page.co.uk/ project=my-app org=sentry
main.ts
Sentry.init({ release: "0.0.1", dsn: environment.sentry_dsn,
复现步骤
- 执行命令
sentry-cli releases new 0.0.1 - 执行命令
sentry-cli releases files 0.0.1 upload-sourcemaps ./dist
执行后输出:
> ~/default~account-account-module~bill-bill-module~credit-topup-credit-topup-module~dashboard-dashboard~23518288-es2015.js> ~/default~account-account-module~bill-bill-module~credit-topup-credit-topup-module~dashboard-dashboard~23518288-es2015.js > Rewriting completed in 1.718s > Adding source map references > Bundling files for upload... ~/network-network-module-es5.js.map > Bundling completed in 4.08s > Optimizing completed in 0.13s > Uploading completed in 78.408s > Uploaded release files to Sentry > Processing completed in 0.12s > File upload complete (processing pending on server) > Organization: sentry > Project: my-app > Release: 0.0.1 > Dist: None Source Map Upload Report Scripts ~/account-account-module-es2015.js ~/account-account-module-es5.js ... ... ... ~/vendor-es2015.js ~/vendor-es5.js Minified Scripts ~/alerts-alerts-module-es2015.js (sourcemap at alerts-alerts-module-es2015.js.map) ~/dashboard-dashboard-module-es2015.js (sourcemap at dashboard-dashboard-module-es2015.js.map) ... ... ... ~/runtime-es5.js (sourcemap at runtime-es5.js.map) ~/statement-statement-module-es2015.js (sourcemap at statement-statement-module-es2015.js.map) Source Maps ~/account-account-module-es2015.js.map ... ... ... ~/vendor-es2015.js.map ~/vendor-es5.js.map
预期结果
应在项目的Source maps标签页中看到新的.js和.js.map文件
实际结果
项目的Source maps标签页为空,没有任何文件
解决方案
1. 完成Release的finalize操作
上传sourcemap后必须执行finalize命令,触发Sentry的后台处理流程:
sentry-cli releases finalize 0.0.1
跳过这一步的话,文件即使上传成功也不会在Source maps页面显示。
2. 校准文件路径匹配
从上传报告看,文件路径是~/xxx.js,需要和前端实际加载脚本的路径一致。如果应用部署在根路径,上传时要指定--url-prefix参数修正路径:
sentry-cli releases files 0.0.1 upload-sourcemaps ./dist --url-prefix '~/dist'
根据实际部署路径调整参数,确保Sentry能关联到正确的脚本文件。
3. 查看Release的Artifacts详情
进入Sentry项目的Releases页面,找到0.0.1版本,查看Artifacts标签页。有时候Source maps标签页不会实时刷新,文件实际会出现在Release的Artifacts列表里。
4. 验证Token权限
确认你的Sentry token拥有project:write权限,权限不足会导致上传流程显示成功但后台拒绝存储文件。可以在Sentry用户设置的Token管理页面检查权限范围。
5. 校验Sourcemap有效性
用cli工具验证dist目录下的sourcemap和对应js文件是否匹配:
sentry-cli sourcemaps validate ./dist
如果存在不匹配的文件,Sentry会自动忽略,不会在页面显示。
内容的提问来源于stack exchange,提问作者Dynamix
相关产品推荐
相关产品推荐

