我注意到开发人员控制台似乎没有公开我可以配置静态环境变量的任何地方。
GAE 是否期望我将这些变量捆绑为构建服务器部署的一部分?如果是这样,是否有关于 GAE/Google Cloud 的任何文档说明原因或详细说明其理念?
最佳答案
几年过去了,还是没有。
我的解决方法是在部署过程中(本地或使用 CI)编译 app.yaml。 比如我有一个模板文件app.tml.yaml文件
runtime: python37
handlers:
- url: /static
static_dir: app/static/
- url: /.*
script: auto
env_variables:
DJANGO_GC_DATABASE_PASSWORD: ${DJANGO_GC_DATABASE_PASSWORD}
然后我在部署之前调用 envsubst
envsubst < ./app.tml.yaml > app.yaml
然后gcloud app deploy
照常。部署完成后,带有敏感数据的 app.yaml 将被删除。变量从本地 .env 文件读取或在 CI 系统中设置。
我还发现了这篇文章中列出的其他方法:https://dev.to/mungell/google-cloud-app-engine-environment-variables-5990但对我来说,它们不够方便或不够通用。
关于google-app-engine - 谷歌应用引擎是否支持环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31122337/