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

时间:2018-10-25 14:01:53

标签: java google-app-engine configuration-files

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

我部署了同一服务的多个版本,并希望对它们进行不同的配置。例如,与相同服务的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。有更好/更简单的解决方案吗?

1 个答案:

答案 0 :(得分:2)

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

因此,真正由您决定如何在部署服务的工作空间/存储库中管理文件版本控制。

您以前的脚本是执行此操作的一种方法。

另一种可能性是在每个环境分支中有不同版本的文件。可以在这篇文章中找到更详细的描述(这是关于app.yaml的,是的,但这是相同的基本思想):Google Cloud App Engine app.yaml for multiple environments

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