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 配置文件的目录。默认值为 ${basedir}/src/main/appengine app.stage.appEngineDirectory
artifact 要部署的 JAR 或 WAR 归档的位置。默认值为 ${project.build.directory}/${project.build.finalName}.${project.packaging} app.stage.artifact
bucket 用于暂存与部署关联的文件的 Cloud Storage 存储分区。如果未指定此参数,将使用应用的默认存储分区。 app.deploy.bucket
cloudSdkPath 用于配置 Cloud SDK 位置的可选参数。默认值为从 PATH 或标准安装位置自动发现。 cloudSdkPath
deployables 要部署的服务或配置的 YAML 文件。默认为暂存目录中的 app.yaml 文件。如果找不到此文件,则尝试在暂存目录中自动生成必要的配置文件(例如 app.yaml)。 app.deploy.deployables
dockerDirectory 包含 Dockerfile 和其他 Docker 资源的目录。 默认值为 ${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 配置文件的目录。默认值为 ${basedir}/src/main/appengine app.stage.appEngineDirectory
artifact 要部署的 JAR 或 WAR 归档的位置。默认值为 ${project.build.directory}/${project.build.finalName}.${project.packaging} app.stage.artifact
cloudSdkPath 用于配置 Cloud SDK 位置的可选参数。 cloudSdkPath
dockerDirectory 包含 Dockerfile 和其他 Docker 资源的目录。 默认值为 ${basedir}/src/main/docker/${basedir}/src/main/docker/ app.stage.dockerDirectory
stagingDirectory 必填。用于暂存应用的目录。默认值为 ${project.build.directory}/appengine-staging app.stage.stagingDirectory
此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

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