使用 Apache Maven 和 App Engine 插件

Apache Maven 是适用于 Java 的构建自动化工具,

App Engine 提供了一个 Maven 插件,您可以使用该插件构建应用并将其部署到 App Engine。插件不支持 Enterprise Application Archive (EAR) 项目。

前期准备

  1. 运行以下命令以确定是否已安装 Maven 以及安装的版本:

    mvn -v
    

    如果安装了 Maven,则会显示以 Apache Maven 开头,后跟 3.5 等版本号的长字符串信息。

  2. 如果您未安装 Maven 3.5 或更高版本:

    1. 下载 Maven 3.5 或更高版本。
    2. 安装 Maven 3.5 或更新版本。
  3. 如果您尚未执行此操作,请按照快速入门中的步骤下载 Cloud SDK,创建 Cloud 项目并初始化 App Engine 应用。

  4. 安装 Cloud SDK app-engine-java 组件:

    gcloud components install app-engine-java
    

添加 App Engine Maven 插件

要使用 App Engine Maven 插件,请将以下代码行添加到项目的 pom.xml 文件中的 plugins 部分:

<plugin>
   <groupId>com.google.cloud.tools</groupId>
   <artifactId>appengine-maven-plugin</artifactId>
   <version>2.2.0</version>
</plugin>

构建和部署应用

将 App Engine Maven 插件添加到项目的 pom.xml 文件后,您可以使用以下命令构建您的应用:

mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID

PROJECT_ID 替换为您的 Cloud 项目 ID。如果您的 pom.xml 文件已经指定了您的项目 ID,则您无需在运行的命令中添加 -Dapp.deploy.projectId 属性。

package 目标会构建和打包您的应用,而 appengine:deploy 目标会执行以下操作:

  1. 为您应用的新版本生成唯一的版本 ID。

  2. 将新版本部署到 App Engine。

  3. 将所有流量路由到新版本。

更改部署默认设置

您可以通过在 appengine:deploy 命令中传递参数来更改默认部署行为。例如,以下命令会将 pom.xml 文件中定义的服务部署到特定 Google Cloud 项目,为该服务分配一个自定义版本 ID,并关闭自动流量路由新版本:

mvn appengine:deploy -Dapp.deploy.projectId=PROJECT_ID -Dapp.deploy.version=VERSION_ID -Dapp.deploy.promote=False

您还可以使用 appengine:deploy 命令部署配置文件,例如 cron.yamldispatch.yamlindex.yaml

如需了解详情,请参阅 appengine:deploy 参考文档。

后续步骤