定义运行时设置

App Engine 应用是使用 app.yaml 文件进行配置的,该文件包含运行时、处理程序、伸缩和其他常规设置(包括环境变量)。

app.yaml 文件简介

您可以在 app.yaml 文件中指定 Java 应用的运行时配置,包括版本和网址。该文件充当特定服务版本的部署描述符。

如果您没有创建 app.yaml 文件,则 gcloud app deploy 命令可在您部署应用时创建一个。 App Engine 创建的 app.yaml 文件仅包含运行应用所需的设置。

通常,对于标准环境中的简单 Java 应用,app.yaml 文件只需使用 runtime 元素,例如:

runtime: java21

App Engine 提供其他所有设置的默认值,包括 F1 实例类(用于确定应用可用的内存和 CPU 资源)以及自动扩缩(用于控制如何以及何时创建应用的新实例)。

如果您需要替换默认设置,请创建一个 app.yaml 文件并指定所需设置。如需了解详情,请参阅 app.yaml 文件参考文档

您可以为 app.yaml 文件指定一个独特的名称,但这样一来就必须在使用部署命令时指定该文件名。例如,如果您将 app.yaml 文件命名为 service-name-app.yamlapp.standard.yaml,则必须使用下列任一命令部署您的应用:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.standard.yaml
如需详细了解如何在应用中设计多个服务和 app.yaml 文件的结构,请参阅设计 Web 服务的结构

对于 Maven 项目,app.yaml 文件的标准位置位于 src/main/appengine 目录下。App Engine Maven 插件将创建一个正确的 target/appengine-staging 目录,其中包含您的 JAR 工件和准备好部署的 app.yaml 文件。

以下是一个 Maven 项目结构示例:

MyDir/
  pom.xml
  [index.yaml]
  [cron.yaml]
  [dispatch.yaml]
  src/main/
    appengine/
      app.yaml
    java/com.example.mycode/
      MyCode.java

如果您的项目目录中有多个 JAR 文件,或者您想要指定自定义入口点,则必须在 app.yaml 文件的 entrypoint 元素中指定该文件。

所有配置元素

如需查看此配置文件中所有受支持的元素的完整列表,请参阅 app.yaml 参考文档