添加 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 版本的可选参数。 |