【问题标题】:Separate env.php files for Google App Engine?Google App Engine 的单独 env.php 文件?
【发布时间】:2015-08-20 18:01:44
【问题描述】:

我想知道是否有人想出如何拥有一个生产环境 env.php 和一个开发环境 env.php。由于部署您的应用程序只需使用您指定的目录中的任何代码并将其放入一个版本中,我无法弄清楚这是怎么可能的。

每次我想部署某些东西时,我都必须将我的生产环境 env.php 文件复制到我的本地文件上。

如果我可以将云上的源代码用作生产代码,那将很有帮助。我知道如何通过 git 忽略 env.php 文件。但是,我看不到这样做的方法,这对我来说真的没有意义。如果不能在生产环境中使用,为什么还要放源代码?

【问题讨论】:

  • 我没有使用 Google App Engine 的经验,但通常这是通过根据主机名或其他环境值包含不同的文件来实现的。
  • @syck 是的,但我认为最好有单独的文件。
  • 你可以有不同的文件。当您可以证明您在开发机器上运行时包含一个,而其他任何时候都包含一个。
  • 是的。我可能不得不最终这样做。感谢您的建议。

标签: php google-app-engine development-environment google-apps production-environment


【解决方案1】:

有办法。

appcfg.py 命令允许在部署时覆盖环境变量。

-- 使用开源工具更新以管理环境--

我们编写了一个部署工具来自动构建部署命令并覆盖实时环境变量。

我们今天已经开源了它!

https://github.com/Venditan/appengine-deploy

-- 更新示例--

假设我们在 app.yaml 文件中定义了这些环境变量:

env_variables:
  DB_HOST: localhost
  DB_USER: marty

这非常适合本地开发。

但是,当我们部署到 live 时,我们希望它们有所不同:

appcfg.py update app.yaml -E DB_HOST:"1.2.3.4" -E DB_USER:"emmett"

多多!

【讨论】:

  • 您能否更新您的答案以包含如何使用 appcfg.py 覆盖变量的示例?
  • 当然 - 给我一两个小时回到笔记本电脑,我会更新票证。
  • 感谢您的更新!我没有看到他们在文档中提到这一点。
  • 嘿,别担心!我可能也会考虑让我们的部署环境管理器开源。
  • 你好 - 给你!我们今天开源了它! github.com/Venditan/appengine-deploy
猜你喜欢
  • 2015-08-02
  • 2019-03-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
相关资源
最近更新 更多