使用 .env 变量在 react-native 应用程序上设置 appcenter

Vic*_*tor 12 environment-variables react-native react-native-config visual-studio-app-center

我开始在我的原生React应用程序中使用MS appcenter,在设置过程中,他们要求我向项目添加两个新文件:

  1. 对于 IOS:AppCenter-Config.plist 与
    <dict>
    <key>AppSecret</key>
    <string><MY_SECRET_KEY></string>
    </dict>
Run Code Online (Sandbox Code Playgroud)
  1. 对于 Android,我需要添加一个带有密钥的 JSON 文件:
 {
    "app_secret": "<MY_SECRET_KEY>"
 }
Run Code Online (Sandbox Code Playgroud)

我已经在我的应用程序中使用一个包来处理 .env 文件:https : //github.com/luggit/react-native-config

有什么方法可以使用这个包或另一个包,以便APP_SECRET从 ENV 变量中获取appcenter 配置文件?

我只是不想让这些密钥处于版本控制之下。

Vic*_*tor 9

Appcenter 允许我们使用构建脚本,您可以在此处查看更多详细信息: https: //learn.microsoft.com/en-us/appcenter/build/custom/scripts

我发现解决此问题的解决方法是使用克隆后脚本。您需要在应用程序的根文件夹中创建一个 bash 脚本,该脚本将.env使用环境变量写入文件。

首先,创建一个名为 的新文件appcenter-post-clone.sh

然后您可以使用如下内容编写 .env 文件:

#!/usr/bin/env bash

echo "Creating .env file"
cat > ./.env <<EOL
API_URL=${API_URL}
API_KEY=${API_KEY}
EOL
Run Code Online (Sandbox Code Playgroud)

  • 我们在项目中使用了类似的[解决方案](https://blog.usejournal.com/react-native-config-and-appcenter-environment-variables-a1a3492ca6a0)。但这对我来说似乎也很好。在我看来值得更多的支持。 (2认同)