如何手动将我的源代码上传到哨兵?

时间:2018-08-23 01:42:33

标签: expo sentry react-native-sentry

我的应用程序是使用expo构建的,哨兵仪表板向我显示2个错误:

  

丢弃无效的参数“类型”

  

找不到app:///crna-entry.bundle的源代码?   platform = ios&dev = true&minify = false&hot = false&assetPlugin =%2FUsers%2FUser%2FDesktop%2Fpath%2Fto%2Fnode_modules%2Fexp。

因此,当我收到错误消息时,就无法调试,因为我只有一个丑陋的内置js。

有什么方法可以手动上传源EXPO源代码。我应该发送哪个文件到哨兵?

谢谢

1 个答案:

答案 0 :(得分:0)

第一种方式

如果您正在使用expo。您应该使用sentry-expo软件包,可以在这里找到:sentry-expo

将此钩子放入您的 expo json(app.json)文件

{
  "expo": {
    "hooks": {
      "postPublish": [
        {
          "file": "sentry-expo/upload-sourcemaps",
          "config": {
            "organization": "<your organization name>",
            "project": "<your project name>",
            "authToken": "<your auth token here>"
          }
        }
      ]
    }
}

  1. organization您可以在这里https://sentry.io/settings/上找到“组织名称”
  2. project输入您的项目名称,您可以在这里找到:https://sentry.io/organizations/ORGANIZATION_NAME/projects/
  3. authToken使用此URL https://sentry.io/api/
  4. 创建authToken

然后运行expo publish,它会自动上传源地图。

本地测试

确保已启用expo开发。 添加行;

Sentry.enableInExpoDevelopment = true;
Sentry.config(publicDsn, options).install();

第二种方式(手动上传)

使用api https://docs.sentry.io/platforms/javascript/sourcemaps/

curl -X POST \
  https://sentry.io/api/0/organizations/ORG_NAME/releases/VERSION/files/ \
  -H 'Authorization: Bearer AUTH_TOKEN' \
  -H 'content-type: multipart/form-data' \
  -F file=@script.min.js.map \
  -F 'name=~/scripts/script.min.js.map'