我在 Go 中有一个 GAE 应用程序,使用martini https://github.com/go-martini/martini。我需要能够设置MARTINI_ENV
环境变量告诉 martini 它应该使用生产设置进行初始化。根据Python文档您可以在 app.yaml 中设置环境变量 https://developers.google.com/appengine/docs/python/#Python_The_environment。我在文章中没有看到任何提及这一点Go docs https://developers.google.com/appengine/docs/go/,但我猜它应该起到同样的作用。
我需要能够设置MARTINI_ENV
环境变量为production
,但我只想在实际生产时这样做(即!appengine.IsDevAppServer()
)。有什么办法可以告诉app.yaml
仅在非开发服务器上运行时执行此操作?
Go 中的 GAE 没有设置环境变量的概念,因为这些变量不会在您的 GAE 实例之间共享。
Since martini.Env
是一个导出变量,尽管您可以使用自己的逻辑设置它。有多种方法可以做到这一点:
- 默认设置
martini.Env
到生产时MARTINI_ENV
不存在
- 添加您自己的
config.yaml
到您的存储库,解析它并设置martini.Env
从那里
- 使用类似的库godotenv https://github.com/joho/godotenv/blob/master/godotenv.go以其
Read
函数,它将读取您的点文件而不是将其加载到环境中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)