在GAE Standard中以不同方式配置同一服务的不同版本
我部署了同一服务的多个版本,并希望对它们进行不同的配置。例如,与相同服务的test
版本相比,服务的prod
版本应在规格较低的实例上运行(且不得有空闲实例)。
由于两个部署共享相同的appengine-web.xml
,如何维护和使用此配置文件的不同版本?
在一个较早的项目中,我求助于在Git中使用单独的appengine-web.xml.test
和appengine-web.xml.prod
版本(appengine-web.xml
本身是.gitignore
-d)。然后,我编写了一个简单的构建程序,该程序将使用适当的版本覆盖appengine-web.xml
,然后运行构建和部署命令。这是在使用AppEngine SDK。
在我当前的项目中,我正在使用GCloud SDK。有更好/更简单的解决方案吗?
答案 0 :(得分:2)
从部署的角度来看,同一服务的不同版本在技术上不会共享appengine-web.xml
文件,它们每个都有自己的文件副本,反映了相应版本在部署时的本地文件版本的内容。 。如有疑问,可以在文件中实际配置服务本身的version
。
因此,真正由您决定如何在部署服务的工作空间/存储库中管理文件版本控制。
您以前的脚本是执行此操作的一种方法。
另一种可能性是在每个环境分支中有不同版本的文件。可以在这篇文章中找到更详细的描述(这是关于app.yaml
的,是的,但这是相同的基本思想):Google Cloud App Engine app.yaml for multiple environments
旁注:我个人建议使用不同的应用程序实现不同的环境,而不仅仅是不同的版本和/或服务,请参见: