App Engine Gradle 插件任务和属性

将 App Engine Gradle 插件添加到项目后,您可以在 Java 8 应用中使用以下 App Engine 特定的 Gradle 任务:
任务 说明
tasks 显示已安装任务的帮助信息。
appengineStage 生成用于部署的应用目录。
appengineDeploy 暂存应用并将其部署到 App Engine。
appengineDeployCron cron.yaml 配置文件部署到 App Engine。
appengineDeployDispatch dispatch.yaml 配置文件部署到 App Engine。
appengineDeployDos dos.yaml 配置文件部署到 App Engine。
appengineDeployIndex index.yaml 配置文件部署到 App Engine。
appengineDeployQueue queue.yaml 配置文件部署到 App Engine。
jettyRun 使用 Jetty 的默认配置运行开发服务器。如需详细了解 Gretty 插件,请参阅 Gretty 配置Gretty 任务

要查看所有任务的列表,请运行以下命令:

gradle tasks

如需详细了解如何设置和使用 Gradle,请参阅使用 App Engine Gradle 和 GitHub 上的 app-gradle-plugin 代码库。

任务属性

gradle.build 文件的内容是描述构建的一组规则。它是基于 Groovy 语言用网域特定的语言编写的,用于描述构建作业。

每个任务都具有可供您使用的如下相关属性。您可以使用配置闭包、任务和属性,在 gradle.build 文件中指定这些属性。

以下示例演示了如何为 Java 8 指定 Gradle 任务。 对于 Java 11 版及更高版本,请参阅 Java 运行时,详细了解如何使用新版本。

在此示例中:

  • 插件的配置闭包是 appengine
  • 任务是 deploy
  • 属性 stopPreviousVersionpromote 设置为 true
appengine {
  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}
如果您只需指定少数几项属性,则可以将它们设置为一行:

  appengine.deploy.stopPreviousVersion = true

有关每项任务的可用属性列表,请参阅以下部分。

appengineStage

task(stage)

生成用于部署的应用目录。由 appengineDeploy 任务和 jettyRun 任务使用。

您可以使用以下属性:

属性 说明
artifact 包含所有类、资源和清单的构建作业工件。 默认为 build/libs/[YOUR_SERVLET].war
appEngineDirectory app.yaml 文件的位置。默认为 src/main/appengine
dockerDirectory Dockerfile 的位置。默认为 src/main/docker
stagingDirectory 必需。要暂存应用的目录。默认值为 build/staged-app

appengineDeploy

task(deploy)

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

每个任务都具有可供您使用的如下相关属性。您可以使用配置闭包、任务和属性,在 gradle.build 文件中指定这些属性。

在以下示例中:

  • 插件的配置闭包是 appengine
  • 任务是 run
  • 属性 port 设置为 8080
appengine {  // App Engine tasks configuration
  run {      // local (dev_appserver) configuration (standard environments only)
    port = 8080                 // default
  }

  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}

如果您只需指定少数几项属性,则可以将它们设置为一行:

  appengine.run.port = 8888
属性 说明
appEngineDirectory .yaml 配置文件(Cron、索引等)的位置,用于配置特定部署(appengineDeployCron 等)。对于柔性环境的应用,默认为 src/main/appengine
bucket 用于暂存与部署关联的文件的 Cloud Storage 存储桶。如果未指定此参数,则使用应用的默认存储桶。
deployables 要部署的服务或配置的 YAML 文件。 默认为暂存目录中的 app.yaml 文件。如果找不到此文件,则尝试在暂存目录中自动生成必要的配置文件(例如 app.yaml)。
imageUrl 使用特定的 Docker 映像进行部署。Docker 网址必须来自一个有效的 Artifact Registry 主机名。
project 用于此调用的 Google Cloud Platform 项目名称。 默认值是初始化 gcloud 工具时选择的当前项目。 如需进行验证,请使用 gcloud config list project
promote 提升已部署的版本以接收所有流量。默认值为 True。
server 要连接的 App Engine 服务器。您通常不需要更改此值。
stopPreviousVersion 在部署接收所有流量的新版本时,停止以前运行的版本。
version 将由此部署创建或替换的应用版本。如果您未指定版本,系统会为您生成一个版本。

全局属性

属性说明
tools.cloudSdkHome 可选属性,用于配置Google Cloud CLI 的位置。 通常情况下,当插件与 gcloud components install app-engine-java 一起安装时,插件会在 gcloud CLI 中找到它。