You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Expo EAS本地构建中配置SENTRY_AUTH_TOKEN且不暴露于eas.json

Expo EAS本地构建安全配置Sentry令牌的最佳方案

针对你遇到的本地构建时SENTRY_AUTH_TOKEN暴露问题,这里有几个经过验证的安全方案,按推荐优先级排序:

1. 使用本地EAS Secrets(最推荐)

EAS CLI支持在本地存储项目级别的secrets,和云端EAS Secret的逻辑完全一致,无需修改eas.json也不会暴露令牌:

  • 运行命令将令牌存入本地EAS Secrets:
    eas secret:push --scope project --name SENTRY_AUTH_TOKEN --value "你的Sentry令牌"
    
  • 之后执行eas build --local时,EAS会自动读取这个本地secret,和云端构建的体验完全一致,且令牌不会出现在任何可提交的文件中。

2. 环境变量+eas.json引用(配合.gitignore)

如果习惯用.env管理环境变量,可按以下步骤调整:

  • 在项目根目录创建.env文件,写入:
    SENTRY_AUTH_TOKEN=你的Sentry令牌
    
  • 将.env添加到.gitignore,避免提交到仓库。
  • 在eas.json的对应构建profile中,通过环境变量占位符引用:
    {
      "build": {
        "development": {
          "developmentClient": true,
          "distribution": "internal",
          "env": {
            "SENTRY_AUTH_TOKEN": "${SENTRY_AUTH_TOKEN}"
          }
        }
      }
    }
    
  • 注意:如果之前用.env没成功,大概率是.env位置不对(必须在项目根目录),或者eas.json里没有正确配置env字段来引用变量。

3. 命令行临时传递令牌(适合偶尔构建)

如果只是偶尔本地构建,可直接在命令行临时传递变量:

SENTRY_AUTH_TOKEN="你的Sentry令牌" eas build --local

这种方式不需要任何配置文件修改,用完即失效,适合临时场景。

最佳实践总结

  • 绝对不要将SENTRY_AUTH_TOKEN明文写入eas.json(因为该文件需要提交到仓库)。
  • 优先使用本地EAS Secrets,它和云端Secret的管理逻辑统一,无需额外维护.env文件。
  • 若使用.env,务必确保它被加入.gitignore,且eas.json正确引用变量。

内容的提问来源于stack exchange,提问作者magnetarneo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 02:15:06