使用Bitbucket仓库集成Sentry时如何设置SDK的Release版本
步骤1:在Bitbucket Pipeline中注入环境变量
由于你的项目是React应用,只有前缀为REACT_APP_的环境变量才能在客户端代码中被访问到,所以需要在Bitbucket Pipeline的构建环节,把内置的$BITBUCKET_COMMIT赋值给对应前缀的变量。
修改你的bitbucket-pipelines.yml的构建步骤,在执行打包命令前添加变量导出逻辑,示例如下:
script: - export REACT_APP_SENTRY_RELEASE=$BITBUCKET_COMMIT - npm run build # 你的原有构建命令 # 后面接你原有的sentry-cli上传Source Map逻辑
步骤2:修改Sentry初始化配置
直接在Sentry初始化参数中新增release字段,引用上面定义的环境变量即可,修改后的代码如下:
if (process.env.NODE_ENV.toString().toLowerCase() === 'production') { Sentry.init({ dsn: process.env.REACT_APP_SENTRY_DSN, release: process.env.REACT_APP_SENTRY_RELEASE }); }
注意事项
- 环境变量必须带
REACT_APP_前缀,这是Create React App的默认规则,否则客户端代码无法读取到变量值 - 该配置保证SDK上报的Release版本和你上传Source Map、Bitbucket关联的版本标识完全一致,错误上报后会自动关联对应的提交记录和Source Map,实现堆栈还原。
内容的提问来源于stack exchange,提问作者Yoofi Brown-Pobee
相关产品推荐
相关产品推荐

