App Engine中用于本地开发的环境variables

在App Engine Flex环境的本地机器上开发nodejs时,设置环境variables的最佳方法是什么? 如果它们在app.yaml中设置,那么在本地开发期间它们不会被设置。 有没有办法强制这个,或者我应该使用类似dotenv的东西,并跟踪2个地方相同的环境variables?

敏感数据(例如API密钥)不应被提交给源代码。

我周围的方式是在Google Storage中存储.env文件。 然后,您可以使用@google-cloud/storage在生产环境下(使用预启动钩子)和dotenv将variables加载到内存中。

您可以在这里find完整的指南: http : //gunargessner.com/gcloud-env-vars/


PS:我会去Aidan的答案存储任何不敏感的数据。 过去我曾经dotenv满意地使用了dotenv 。 与此类似, nconf是gcloud自己使用的包例子 。 很简约!

选项1:

require('dotenv').config({path: '/custom/project/root/app.yaml'})

选项2:

保持.env文件和.yaml文件具有相同的键但不同的值(分别为本地和GAE)。 在app.yaml中,我确保不要通过添加以下行来部署我的.env文件:

skip_files : .env

您将需要添加('dotenv')。config()检查,以确保它没有错误或覆盖您的过程variables,如果没有.env文件被检测到。