如何将Java 8 App Engine Flexible迁移到App Engine Standard?

时间:2019-03-22 12:24:00

标签: google-app-engine google-cloud-platform

我已经制作了一个基本的 App Engine Flexible Rest API,该API使用 Cloud端点进行身份验证,并使用Spring作为MVC框架。

是否有人对如何将其转换为 App Engine标准有任何建议?

我认为更改app.yaml文件可以使用,但我有点迷茫。

谢谢

1 个答案:

答案 0 :(得分:0)

修改app.yaml 是从灵活环境更改为标准环境的主要方法,反之亦然。除非您的特定项目有任何其他特殊配置,否则这可能就是您需要做的所有事情。

要部署到标准环境,而不是灵活的方法:

尝试简单地注释掉env中的app.yaml属性:

#env: flex

默认情况下,如果未定义env(根据我的经验),您将部署到标准环境。

除此之外,您还必须查看app.yaml中的各个属性,因为其中某些属性可能仅适用于特定的部署类型。例如,instance_class不是在灵活环境中使用的属性,而您可以在标准环境中进行定义。从理论上讲,如果部署到灵活的环境中,我会删除或注释掉instance_class,或者只维护第二个app.yaml(例如,名为app_standard.yaml)。

顺便说一句,我最近偶然发现了一件事(无论如何,对于Go而言):

要进行灵活的部署,此操作将失败...

# This failed for flexible deployment, but it's what Google docs states to use (no period in the number)
runtime: go111

与此同时,我必须定义灵活部署的期限...

# This worked on a flexible deployment (had to include the period in the number)
runtime: go1.11

但是,对于完全相同的应用程序,没有代码更改,只是转到标准环境,我定义了运行时版本,没有Google的文档所说的那样,并且有效:

# This worked for standard environment (no period in the number)
runtime: go112

只是说明app.yaml中的细节有多重要。