Var*_*pta 15 firebase google-cloud-functions
我正在将我的一些firebase-queue工作人员转移到Firebase功能.我习惯process.env.NODE_ENV根据我运行它们的环境为worker设置一些配置.有没有办法NODE_ENV在部署它们时设置功能.我知道提供这样的配置选项的推荐方法是通过firebase.config.set我已经验证按预期工作,但只是想检查是否有办法设置NODE_ENV也.当我尝试打印出NODE_ENV函数内部时,它始终设置为production.
目前无法设置自定义环境变量,例如process.env.NODE_ENV. 您想要做的只能针对 GCP 功能完成,并且您需要使用gcloud命令行工具。
https://cloud.google.com/functions/docs/env-var#accessing_environment_variables_at_runtime
如果您专门为 Firebase 开发并需要类似的解决方案,那么有多种选择。
如果您有测试、暂存和生产项目并希望根据环境具有不同的行为或日志记录,则可以访问项目 ID。
process.env.GCLOUD_PROJECT 设置为您的 GCP 项目 ID,以便您可以基于该 ID 构建逻辑。
if (process.env.GCLOUD_PROJECT === 'my-production-project') {
// Only in production
} else {
// Do something for the test environments
}
Run Code Online (Sandbox Code Playgroud)
正如您已经提到的,还有云函数环境变量。您可以有效地创建构建管道,在构建/部署时配置您的环境配置,然后在您的云功能中访问它们。
- firebase functions:config:set runtime.env="production" --token $FIREBASE_DEPLOY_KEY
Run Code Online (Sandbox Code Playgroud)
访问配置实际上与您的配置相同,process.env但不能在云函数范围之外访问(即您不能在全局变量声明中使用它)。
- firebase functions:config:set runtime.env="production" --token $FIREBASE_DEPLOY_KEY
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2215 次 |
| 最近记录: |