Gradle 是一种侧重于灵活性和性能的开源构建自动化工具。App Engine 提供了一个 Gradle 插件,您可以使用该插件构建应用并将其部署到 App Engine。
此代码示例演示了如何配置 build.gradle 文件以添加 App Engine Gradle 任务、Maven 制品库、App Engine Gradle 插件和依赖项。
准备工作
- 如果您尚未执行此操作,请按照本指南中的步骤下载 gcloud CLI,创建 Google Cloud 项目,然后初始化 App Engine 应用。 
- 安装 gcloud CLI - app-engine-java组件:- gcloud components install app-engine-java
创建新的 Gradle 项目
您可以使用 shell 从头开始创建新的 Gradle 项目。或者,如果要试用此插件,您还可以下载 hello world 项目,在本地运行并完成部署。
如需创建新项目,请执行以下操作:
- 创建一个新目录,并导航到此目录。 
- 如需初始化一个新项目,请执行以下操作: - 运行 - gradle init:- gradle init --type java-application- 您需要回答以下问题: - 输入目标 Java 版本(最小值:7,默认值:21):21
- 选择应用结构:1 表示单个应用项目
- 选择构建脚本 DSL:2(适用于 Groovy)
- 选择测试框架:1(适用于 JUnit 4)
- 使用新的 API 和行为生成构建:否
 
- 创建 - WEB-INF文件夹:- mkdir -p app/src/main/webapp/WEB-INF
- 创建 - appengine文件夹:- mkdir -p app/src/main/appengine
 
- 移除 - gradle init生成的存根文件:- rm ./app/src/main/java/org/example/App.java ./app/src/test/java/org/example/AppTest.java
- 将以下代码添加到 - app/build.gradle文件中,以添加 App Engine Gradle 任务、Maven 代码库、App Engine Gradle 插件、依赖项和任务配置:
- 您还需要使用文本编辑器或集成开发环境 (IDE) 将以下文件添加到您的项目: - app/src/main/appengine/app.yaml
- app/src/main/webapp/WEB-INF/web.xml(除非应用使用 Servlet 3.1 注释)
- app/src/main/docker/Dockerfile(自定义运行时的可选项)
- Java 类
- Java 测试类
 
如需大致了解 Java App Engine 项目,请参阅设置开发环境。
使用开发服务器测试应用
- 在本地运行时,如果要从项目访问 Google 资源,请运行以下命令,以设置应用默认凭据: - gcloud auth application-default login
- 切换到应用目录的根目录。 
- 在开发阶段,您可以调用 Gradle 插件,在开发服务器上随时运行和测试您的应用: - gradle jettyRun- 或者,您可以使用 Gradle 封装容器,这样无需安装就能运行 Gradle。 
- 等待服务器启动。当您看到如下所示的消息时,表示服务器已启动且您的应用正在运行: - :prepareInplaceWebAppFolder :createInplaceWebAppFolder :compileJava :processResources UP-TO-DATE :classes :prepareInplaceWebAppClasses :prepareInplaceWebApp :jettyRun 17:40:05 INFO Jetty 9.2.15.v20160210 started and listening on port 8080 17:40:05 INFO runs at: 17:40:05 INFO http://localhost:8080/ 
- 访问 - http://localhost:8080查看应用运行情况。
如需详细了解 Gretty 插件,请参阅 Gretty 配置和 Gretty 任务。
部署应用
如需部署应用,请运行以下命令:
gradle appengineDeploy
appengineDeploy 任务和所有其他 Gradle 任务具有您可以使用的关联属性。如需查看任务和属性的完整列表,请参阅 App Engine Gradle 任务和属性。
使用 Gradle 封装容器
Gradle 提供了一种无需安装,即可下载并运行所需的 Gradle 版本的机制:
Linux/macOS
- 切换到示例代码目录。 
- 运行 gradlew: - ./gradlew jettyRun
Windows
- 切换到示例代码目录。 
- 运行 gradlew: - ./gradlew.bat jettyRun
如需详细了解 Gradle,请参阅 App Engine Gradle 任务和属性。
后续步骤
- 在 GitHub 上浏览插件代码并报告问题。
- 参阅 App Engine Gradle 任务和属性,了解如何为任务指定属性。