如何在eas.json中使用eas秘密变量,但是我不想与本地的.env变量混淆

问题描述 投票:0回答:1

我正在尝试部署应用程序,但我发现使用

eas secret vars
部署应用程序很困难。

我已成功将变量存储在eas Secret中,但我不知道如何在

eas.json
中使用它们,我看到了一些答案,您应该创建一个app.config.js,但我不想混淆局部变量来自eas的秘密。

This is the .env file:

EXPO_PUBLIC_API_URL=localhost...
EXPO_PUBLIC_VEHICLE_IMAGE_URL=localhost

eas.json
我想更新这个:

"production": {
      "channel": "production",
      "env": {
        "EXPO_PUBLIC_API_URL": "www.production.com", // I want the secret variable
        "EXPO_PUBLIC_VEHICLE_IMAGE_URL": "www.production2.com" // I want the secret variable
      }
    }
react-native expo environment-variables eas
1个回答
0
投票

我写了一份非常详细的指南。仔细阅读以更好地了解 Expo 和 EAS 中的环境变量如何工作。你可以在这里找到它:

Expo中EAS Build使用环境变量的解决方案

简而言之,这是您对 eas Secrets 特定问题的回答:

如果您想在 EAS 构建期间使用本地环境变量:

  1. 在您的 Expo 项目的 Secret 中创建相同的变量。您可以在这里找到它们:

    https://expo.dev/accounts/<username>/settings/secrets

  2. 更新您的

    eas.json
    以告诉 EAS 哪些机密用于特定分支(例如,
    development
    production
    ):

    "development": {
      "autoIncrement": true,
      "developmentClient": true,
      "distribution": "internal",
      "env": {
        "EXPO_PUBLIC_MAPBOX_ACCESS_TOKEN": "EXPO_PUBLIC_MAPBOX_ACCESS_TOKEN",
        "EXPO_PUBLIC_SUPABASE_URL": "EXPO_PUBLIC_SUPABASE_URL",
        "EXPO_PUBLIC_SUPABASE_ANON_KEY": "EXPO_PUBLIC_SUPABASE_ANON_KEY"
      },
      "channel": "development"
    }
    

这告诉 EAS 在秘密中查找

EXPO_PUBLIC_MAPBOX_ACCESS_TOKEN
并在构建期间检索其值。

© www.soinside.com 2019 - 2024. All rights reserved.