如何设置GAE环境特定的环境变量?

时间:2014-07-05 10:23:36

标签: google-app-engine go

我使用martini在Go中获得了GAE应用程序。我需要能够设置MARTINI_ENV环境变量来告诉martini它应该使用生产设置进行初始化。根据Python文档you can set environment variables in the app.yaml。我在Go docs中没有看到任何提及,但我猜它应该是一样的。

我需要能够将MARTINI_ENV环境变量设置为production,但我只想在我实际投入生产时(即!appengine.IsDevAppServer())这样做。有没有办法告诉app.yaml只能在非开发服务器上运行?

2 个答案:

答案 0 :(得分:4)

Go中的GAE没有设置环境变量的概念,因为它们不会在您的GAE实例中共享。

由于martini.Env是导出变量,但您可以使用自己的逻辑设置它。有多种方法可以做到这一点:

  1. martini.Env不存在时的默认设置MARTINI_ENV
  2. 将您自己的config.yaml添加到您的仓库,解析并从那里设置martini.Env
  3. 使用像godotenv这样的库及其Read函数,它将读取您的dotfile而不是将其加载到env中。

答案 1 :(得分:1)