App Engine Maven 插件目标和参数

将 App Engine Maven 插件添加到项目后,您就可以在柔性环境中使用以下 App Engine 特定的 Maven 目标了:

目标 说明
appengine:deploy 暂存应用并将其部署到 App Engine。
appengine:deployCron cron.yaml 配置文件部署到 App Engine。
appengine:deployDispatch dispatch.yaml 配置文件部署到 App Engine。
appengine:deployDos dos.yaml 配置文件部署到 App Engine。
appengine:deployIndex index.yaml 配置文件部署到 App Engine。
appengine:deployQueue queue.yaml 配置文件部署到 App Engine。
appengine:help 显示 App Engine Maven 插件的帮助信息。
appengine:stage 生成用于部署的应用构建目录。

如需详细了解如何设置和使用 Maven,请参阅使用 Maven

使用参数

每个目标都有相关参数,您可以在 pom.xml 中进行指定。例如:

<plugins>
   <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>appengine-maven-plugin</artifactId>
     <version>2.0.0</version>
     <configuration>
       <deploy.stopPreviousVersion>true</deploy.stopPreviousVersion>
       <cloudSdkPath>/usr/foo/path/to/cloudsdk</cloudSdkPath>
     </configuration>
  </plugin>
</plugins>

您还可以在命令行中按照模式 -D[USER_PROPERTY]=[PARAMETER_VALUE] 定义配置参数。

例如,要指定用于暂存应用的目录,请运行以下命令:

mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]

如需了解每个目标可用的参数列表,请参阅以下部分。

appengine:deploy

暂存应用并将其部署到 App Engine。

您可以使用以下参数,其中一些参数对应于 gcloud app deploy 命令行标志gcloud app services 命令行标志

参数 说明 用户属性
appEngineDirectory 包含 app.yaml 和其他受支持的 App Engine 配置文件的目录。仅适用于 App Engine 柔性环境。默认值为 ${basedir}/src/main/appengine app.stage.appEngineDirectory
artifact 要部署的 JAR 或 WAR 存档的位置。仅适用于 App Engine 柔性环境。默认值为 ${project.build.directory}/${project.build.finalName}.${project.packaging} app.stage.artifact
bucket 用于暂存与部署关联的文件的 Google Cloud Storage 存储分区。如果未指定此参数,则使用应用的默认存储分区。 app.deploy.bucket
cloudSdkPath 用于配置 Google Cloud SDK 位置的可选参数。默认是从 PATH 或标准安装位置自动发现。 cloudSdkPath
deployables 要部署的服务或配置的 YAML 文件。默认为暂存目录中的 app.yaml 文件。如果找不到此文件,则尝试在暂存目录中自动生成必要的配置文件(例如 app.yaml)。 app.deploy.deployables
dockerDirectory 包含 Dockerfile 和其他 Docker 资源的目录。仅适用于 App Engine 柔性环境。默认值为 ${basedir}/src/main/docker/ app.stage.dockerDirectory
imageUrl 使用特定的 Docker 映像进行部署。ImageUrl 必须是有效的 Container Registry 名称,例如 gcr.io/foo,其中 foo 是映像的名称。 app.deploy.imageUrl
project 用于此调用的 Google Cloud Platform 项目名称。默认值是初始化 gcloud 时选择的当前项目。 app.deploy.project
promote 升级已部署的版本以接收所有流量。默认值为 True app.deploy.promote
server 要连接的 App Engine 服务器。通常,您无需更改此值。 app.deploy.server
stagingDirectory 必需参数。用于暂存应用的目录。默认值为 ${project.build.directory}/appengine-staging app.stage.stagingDirectory
stopPreviousVersion 在部署接收所有流量的新版本时,停止以前运行的版本。 app.deploy.stopPreviousVersion
version 将由此部署创建或替换的应用版本。如果您未指定版本,系统会为您生成一个版本。 app.deploy.version

appengine:help

显示 App Engine Maven 插件的帮助信息。要显示参数详细信息,请调用:

mvn appengine:help -Ddetail=true -Dgoal=[GOAL_NAME]

您可以使用以下参数:

参数 说明 用户属性
detail 如果为 true,则显示每个目标的所有可设置属性。默认值为 False detail
goal 要显示其帮助信息的目标的名称。如果未指定,将显示所有目标。 goal
indentSize 每个缩进级别的空格数。应为正数。默认值为 2 indentSize
lineLength 显示行的长度上限。应为正数。默认值为 80 lineLength

appengine:stage

生成用于部署的应用构建目录。

您可以使用以下参数:

参数 说明 用户属性
appEngineDirectory 包含 app.yaml 和其他受支持的 App Engine 配置文件的目录。仅适用于 App Engine 柔性环境。默认值为 ${basedir}/src/main/appengine app.stage.appEngineDirectory
artifact 要部署的 JAR 或 WAR 存档的位置。仅适用于 App Engine 柔性环境。默认值为 ${project.build.directory}/${project.build.finalName}.${project.packaging} app.stage.artifact
cloudSdkPath 用于配置 Google Cloud SDK 位置的可选参数。 cloudSdkPath
dockerDirectory 包含 Dockerfile 和其他 Docker 资源的目录。仅适用于 App Engine 柔性环境。默认值为 ${basedir}/src/main/docker/${basedir}/src/main/docker/ app.stage.dockerDirectory
stagingDirectory 必需参数。用于暂存应用的目录。默认值为 ${project.build.directory}/appengine-staging app.stage.stagingDirectory
此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Java 版 App Engine 柔性环境文档