google-app-engine - App Engine : different app. 基于环境的 yaml 文件

标签 google-app-engine environment-variables development-environment

我目前正在将一个应用程序迁移到依赖于各种外部连接的环境变量的 Google App Engine。看起来 app.yaml 文件是我应该设置这些配置的地方,但是我如何管理这些变量可能不同的不同环境(开发、测试、暂存、生产)?

最简单的解决方案是仅使用不同的 app.yaml 文件为每个环境创建一个分支吗?

最佳答案

app.yaml 可以为应用程序的其余部分设置环境变量,但它无法检查它们并做不同的事情取决于他们的传入值。因此,您确实需要向您使用的任何部署过程提供不同的 app.yaml 文件。

至于准备正确的 app.yaml 作为 GAE 部署的初步步骤的最佳方法,这是一个更微妙的 devops 问题。正如你提到的,你的 git 或 hg 或其他任何东西中的分支都可以工作,但就个人而言(也许只是运气不好?-)我经常发现我的结构越简单越好,并且分支旨在长期存在(如反对打算很快合并回主干的临时偏差)让我更头疼。

所以,如果由我来决定,我将有一个带有所需 if/else 逻辑的 preapp.yaml 模板(也许是 jinja2,等等),并准备正确的 app。 yaml,作为任何部署的第一步,使用简单的 Python 脚本。

当前测试版 gcloud preview deployment-manager 使用的架构类型(用于所有类型的配置文件,因此具有更多不可避免的复杂性),参见 https://cloud.google.com/deployment-manager/ ,所以我当然可能对这种方法有偏见(但正如我提到的,我的偏见主要来自以前糟糕的部署经验:-)。

关于google-app-engine - App Engine : different app. 基于环境的 yaml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28282640/

相关文章:

python - 如何在 Google App Engine 上检查可用的 Python 库并添加更多

python - 如何在 blender 中使用环境变量

java - System.getenv() 和 System.getProperty() 之间的区别

javascript - React native application release build install on Simulator 但不是设备

使用设备进行 Android 开发

python - OperationalError (2001, "Can' t create UNIX socket (-1)") - Google App Engine 上的 Django

java - 数据存储查询超时

python - 使用 Google App Engine 标准环境时将 "/blog"转发到 WordPress 安装

java - 在 Ubuntu 上设置 Java 环境路径时出现问题 (libjvm.so : cannot open shared object file: No such file or directory)

macos - 为程序员设置 Mac