一尘不染

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

go

我使用martini在Go中有一个GAE应用程序。我需要能够设置MARTINI_ENV环境变量以告诉martini它应该使用生产设置进行初始化。根据Python文档,您可以在app.yaml中设置环境变量。我没有在Go
docs中
看到任何有关此的内容,但我猜想它应该可以正常工作。

我需要能够将MARTINI_ENV环境变量设置为production,但是我只想在实际投入生产时(即!appengine.IsDevAppServer())进行操作。有什么方法可以告诉app.yaml您仅在非开发服务器上运行吗?


阅读 206

收藏
2020-07-02

共1个答案

一尘不染

GoE中的GAE没有设置环境变量的概念,因为这些变量不会在您的GAE实例之间共享。

由于martini.Env是导出的变量,虽然你可以使用自己的逻辑来进行设置。有多种方法可以做到这一点:

  1. 不存在martini.Env时的默认设置为生产MARTINI_ENV
  2. 将自己的添加config.yaml到您的仓库中,进行解析并martini.Env从那里进行设置
  3. 使用类似godotenv的库及其Read功能,该库将读取您的点文件,而不是将其加载到env中。
2020-07-02