在 GAE 标准中以不同方式配置相同服务的不同版本

Configuring different versions of the same service differently in GAE Standard

在 GAE 标准中以不同方式配置同一服务的不同版本

我部署了同一服务的多个版本,并希望对它们进行不同的配置。例如,test 版本的服务应该 运行 在较低规格的实例(并且没有空闲实例)上比同一服务的 prod 版本。

由于两个部署共享相同的 appengine-web.xml,我该如何维护和使用此配置文件的不同版本?

在一个较早的项目中,我在 Git 中使用了单独的 appengine-web.xml.testappengine-web.xml.prod 版本(appengine-web.xml 本身就是 .gitignore-d)。然后我写了一个简单的构建程序,它将用适当的版本覆盖 appengine-web.xml,然后是 运行 构建和部署命令。这是使用 AppEngine SDK。

在我当前的项目中,我使用的是 GCloud SDK。 better/simpler 解决方案可行吗?

从部署的角度来看,同一服务的不同版本在技术上并不共享 appengine-web.xml 文件,它们各自有自己的文件副本,反映了各自版本当时本地文件版本的内容已部署。服务本身的非常version其实可以在文件中配置,以防你有疑虑。

因此,如何在部署服务的 workspace/repository 中管理文件版本控制完全取决于您。

您之前的脚本是一种方法。

另一种可能性是在每个环境的不同分支中拥有不同版本的文件。更详细的描述可以看这个post(大概是app.yaml,没错,但是大体思路是一样的):

旁注:我个人建议使用不同的应用程序来实现不同的环境,而不仅仅是不同版本的 and/or 服务,请参阅: