首页 > 解决方案 > 在 GAE 标准中以不同方式配置同一服务的不同版本

问题描述

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

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

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

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

在我当前的项目中,我使用的是 GCloud SDK。是否有更好/更简单的解决方案?

标签: javagoogle-app-engineconfiguration-files

解决方案


从部署的角度来看,同一服务的不同版本在技术上并不共享appengine-web.xml文件,它们各自都有自己的文件副本,反映了部署各自版本时本地文件版本的内容。如果version您有疑问,实际上可以在文件中配置服务本身。

因此,如何在部署服务的工作区/存储库中管理文件版本控制完全取决于您。

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

另一种可能性是在不同的每个环境分支中拥有不同版本的文件。更详细的描述可以看这篇博文(是关于app.yaml,没错,但大体思路是一样的):Google Cloud App Engine app.yaml for multiple environment

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


推荐阅读