添加 App Engine 插件到您的项目后,您可以在 App Engine 标准环境中针对应用执行下列 App Engine 特定 Gradle 任务:
| 任务 | 说明 | 
|---|---|
| tasks | 显示已安装任务的帮助信息。 | 
| appengineCloudSdkLogin | 设置账号的全局 gcloud CLI 状态。 | 
| appengineDeploy | 暂存应用并将其部署到 App Engine。 | 
| appengineDeployAll | 暂存应用及其所有的有效 yaml 配置,同时将其部署到 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。 | 
| appengineRun | 运行 App Engine 开发服务器。服务器运行时,会持续检查以确定 appengine-web.xml是否已更改。如果已更改,则服务器会重新加载应用。您无需因appengine-web.xml的更改而停止和重启应用。 | 
| appengineStage | 生成用于部署的应用目录。 | 
| appengineStart | 执行 App Engine 开发服务器的异步启动,然后返回到命令行。当此目标运行时,行为与 run 目标完全相同,但以下情况除外:Gradle 继续处理任务,并在服务器启动并运行后退出。 | 
| appengineStop | 停止正在运行的 App Engine Web 开发服务器。 | 
| explodeWar | 将 WAR 文件分离为构建目录。 | 
要查看所有任务的列表,请使用以下命令:
gradle tasks
如需详细了解如何设置和使用 Gradle,请参阅使用 App Engine Gradle。
任务属性
gradle.build 文件的内容是描述构建的一组规则。它是基于 Groovy 语言由网域特定的语言编写的,用于描述构建作业。
每个任务都具有可供您使用的如下相关属性。您可以使用配置闭包、任务和属性,在 gradle.build 文件中指定这些属性。
在以下示例中:
- 插件的配置闭包是 appengine。
- 任务是 run。
- 属性 port设置为8080。
如果您只需指定少数几项属性,则可以将其排列为一行:
appengine.run.port = 8888
有关每个任务的可用属性列表,请参阅以下部分。
appengineStage
task(stage)
生成用于部署的应用目录。appengineDeploy 任务使用 appengineStage。
您可以使用以下属性:
| 属性 | 说明 | 
|---|---|
| compileEncoding | 编译 JSP 时使用的字符编码。仅适用于在 App Engine 标准环境中运行的应用。 | 
| deleteJsps | 编译后删除 JSP 源文件。仅适用于在 App Engine 标准环境中运行的应用。 | 
| disableJarJsps | 禁止添加通过 JSP 生成的类。仅适用于在 App Engine 标准环境中运行的应用。 | 
| disableUpdateCheck | 不检查 gcloud CLI 更新。 | 
| enableJarClasses | 将 WEB-INF/classes content压缩为 jar 文件。仅适用于在 App Engine 标准环境中运行的应用。 | 
| useMtimeFileWatcher | 使用 mtime 轮询检测源代码更改。如果您使用分布式文件系统通过远程计算机修改代码,则此参数很有用。 | 
| enableJarSplitting | 将大于 10 MB 的 JAR 文件拆分为多个较小的片段。仅适用于 App Engine 标准环境。 | 
| enableQuickstart | 使用 Eclipse Jetty 快速启动模块处理 servlet 注释。仅适用于 App Engine 标准环境。 | 
| jarSplittingExcludes | 从所有 JAR 文件中排除与英文逗号分隔的 SUFFIXES 列表匹配的文件。仅适用于在 App Engine 标准环境中运行的应用。 | 
| sourceDirectory | 必需。已编译的 Web 应用文件或分离型 WAR 的位置,会用作要暂存的内容的源位置。仅适用于 App Engine 标准环境。默认值为 build/exploded-${gradle-module-name}。 | 
| stagingDirectory | 必需。要暂存应用的目录。默认值为 build/staged-app。 | 
appengineRun
task(run)
运行 App Engine 开发 Web 服务器。服务器运行时,会持续检查以确定 appengine-web.xml 是否已更改。如果已更改,则服务器会重新加载应用。也就是说,您无需因 appengine-web.xml 发生更改而停止和重启您的应用。
您可以使用以下属性,其中部分属性对应于本地开发服务器命令行标志:
| 属性 | 说明 | 
|---|---|
| environment | 要发送到本地开发服务器的环境变量的映射。
      示例: [key1: "value1", key2: "value2"] | 
| jvmFlags | 启动应用实例时要传递至 java 命令的其他参数。可以多次指定此参数。示例: -Xmx1024m -Xms256m | 
| host | 应用服务应绑定的主机名。默认值为 localhost。 | 
| port | 应用服务应至少绑定的端口。默认值为 8080。 | 
| serverVersion | 要启动的服务器版本,选项包括“1”和“2-alpha”。默认值为“1”。 | 
| services | 必需。表示一个目录的路径,其中包含 WEB-INF/web.xml所在的目录。默认值为build/exploded-app。 | 
| startSuccessTimeout | 等待开发应用服务器在后台启动(使用 appengineStart 时)的时间(以秒为单位)。 | 
appengineDeploy
task(deploy)
暂存应用并将其部署到 App Engine。
| 属性 | 说明 | 
|---|---|
| appEngineDirectory | .yaml配置文件(cron、索引等)的位置,用于配置特定部署(appengineDeployCron 等)。对于标准应用,您的.xml配置文件在暂存到.yaml时会进行转换,并放置在build/staged-app/WEB-INF/appengine-generated中。 | 
| bucket | 用于暂存与部署关联的文件的 Google Cloud Storage 存储桶。如果未指定此参数,则使用应用的默认存储桶。 | 
| imageUrl | 使用特定的 Docker 映像进行部署。Docker 网址必须来自有效的 Google Container Registry 主机名之一。 | 
| projectId | 用于此调用的 Google Cloud Platform 项目 ID。
      您必须指定 projectId,或者您可以将 GCLOUD_CONFIG设置为使用 gcloud 配置状态下的项目集。 | 
| promote | 提升已部署的版本以接收所有流量。默认值为 True。 | 
| server | 要连接的 App Engine 服务器。您通常不需要更改此值。 | 
| stopPreviousVersion | 在部署接收所有流量的新版本时,停止以前运行的版本。 | 
| version | 将由此部署创建或替换的应用版本。如果您未指定版本,系统会为您生成一个版本。 | 
全局属性
| 属性 | 说明 | 
|---|---|
| tools.cloudSdkHome | 用于配置 gcloud CLI 位置的可选属性。如果未指定此属性,则该插件会自动下载 gcloud CLI。 | 
| tools.cloudSdkVersion | 用于指定所需 gcloud CLI 版本的可选参数。 |