我在 Go 中使用 martini 获得了一个 GAE 应用程序.我需要能够设置 MARTINI_ENV
环境变量来告诉 martini 它应该使用生产设置进行初始化。根据 Python 文档 you can set environment variables in the app.yaml .我在 Go docs 中没有看到任何提及。 ,但我猜它的工作原理应该是一样的。
我需要能够将 MARTINI_ENV
环境变量设置为 production
,但我只想在实际处于生产状态时这样做(即 !appengine.IsDevAppServer()
)。有没有办法告诉 app.yaml
只在非开发服务器上运行时执行此操作?
最佳答案
Go 中的 GAE 没有设置环境变量的概念,因为这些不会在您的 GAE 实例之间共享。
由于 martini.Env
是一个导出变量,但您可以使用自己的逻辑对其进行设置。有多种方法可以做到这一点:
- 当
MARTINI_ENV
不存在时,默认将martini.Env
设置为生产 - 将你自己的
config.yaml
添加到你的 repo,解析它并从那里设置martini.Env
- 使用类似godotenv 的库使用其
Read
函数,它将读取您的点文件而不是将其加载到环境中。
关于google-app-engine - 如何设置GAE环境特定的环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24585406/