在 App Engine 柔性环境中创建 Java 应用
区域 ID
REGION_ID
是 Google 根据您在创建应用时选择的区域分配的缩写代码。此代码不对应于国家/地区或省,尽管某些区域 ID 可能类似于常用国家/地区代码和省代码。对于 2020 年 2 月以后创建的应用,REGION_ID.r
包含在 App Engine 网址中。对于在此日期之前创建的现有应用,网址中的区域 ID 是可选的。
详细了解区域 ID。
本快速入门演示了如何创建和部署一个显示简短消息的应用。示例应用使用 Java 17 版。
准备工作
本快速入门假定您已在本地机器上安装 Java SE 17 开发工具包 (JDK)。- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
启用 Cloud Build API。
- 安装 Google Cloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
启用 Cloud Build API。
- 安装 Google Cloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init
其他前提条件
初始化您的项目的 App Engine 应用并选择应用的区域:
gcloud app create --project=[YOUR_PROJECT_ID]
系统提示时,选择您希望自己的 App Engine 应用所在的区域。
安装以下必备组件:
- 下载并安装 Git。
- 下载并安装 Maven 3.5 或更高版本。本快速入门使用 Apache Maven 3.5 或更高版本在计算机上构建和运行示例应用。
App Engine 位置
App Engine 是区域级的,这意味着运行您的应用的基础架构位于特定区域并由 Google 代管,以使其在该区域内的所有可用区以冗余方式提供。
选择要在哪个区域运行应用时,首先要考虑该区域是否能满足您的延迟时间、可用性或耐用性要求。通常,您可以选择距离应用的用户最近的区域,但也要考虑提供 App Engine 的位置以及应用使用的其他 Google Cloud 产品和服务的位置。跨多个位置使用服务可能会影响应用的延迟时间及其价格。
应用的区域一经设置,便无法更改。
如果您已创建 App Engine 应用,则可以通过执行以下任一操作来查看其区域:
运行
gcloud app describe
命令。打开 Google Cloud 控制台中的 App Engine 信息中心。该区域会显示在页面顶部附近。
下载 Hello World 应用
我们创建了一个简单的 App Engine 版 Hello World 应用,以便您快速了解如何将应用部署到 Google Cloud。
将 Hello World 示例应用代码库克隆到本地机器。
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
或者,您也可以下载该示例的 zip 文件并将其解压缩。
切换到包含示例代码的目录。
cd java-docs-samples/flexible/java-17/micronaut-helloworld
在本地机器上运行 Hello World
如需在本地机器上运行 Hello World 应用,请执行以下操作:
- 运行以下命令:
java -jar target/micronaut-helloworld-0.1.jar
在网络浏览器中输入以下地址:
http://localhost:8080如果您使用的是 Cloud Shell,请改为在工具栏中点击网页预览,然后选择在端口 8080 上预览。
页面中随即显示示例应用发出的 Hello World 消息。在终端窗口中,按 Ctrl+C 退出 Web 服务器。
在 App Engine 上部署并运行 Hello World
如需将应用部署到 App Engine 柔性环境,请执行以下操作:-
从
java-17/micronaut-helloworld
目录运行以下命令来部署 Hello World 应用:mvn clean package appengine:deploy
-
启动浏览器,然后访问
https://PROJECT_ID.REGION_ID.r.appspot.com
以查看此应用gcloud app browse
其中PROJECT_ID
表示您的 Google Cloud 项目 ID。
此时,在 App Engine 实例上运行的 Web 服务器提供显示 Hello World 消息的页面。
恭喜!您已将第一个 App Engine 应用部署到 App Engine 柔性环境!
如果您在部署应用时遇到任何错误,请查看问题排查提示。如需了解有关清理的信息以及可执行的后续步骤的链接,请参阅以下部分。
清理
为避免产生费用,您可以删除 Google Cloud 项目,以停止对该项目中使用的所有资源计费。
- 在 Google Cloud 控制台中,进入管理资源页面。
- 在项目列表中,选择要删除的项目,然后点击删除。
- 在对话框中输入项目 ID,然后点击关闭以删除项目。
后续步骤
了解整个平台
现在,您已了解如何开发和部署 App Engine 应用,接下来您可以探索 Google Cloud 的其余部分。您已经安装了 Google Cloud CLI,它可为您提供与 Cloud SQL、Cloud Storage、Firestore 等产品交互的工具。
了解 App Engine 柔性环境
以下主题有助于您继续了解 App Engine:
Hello World 代码审核
Hello World 是最简单的 App Engine 应用,因为它只包含一项服务,只有一个版本,并且所有代码都位于应用的根目录中。本部分详细介绍了各应用文件。
HelloControllerTest.java
HelloControllerTest.java
文件指定了一个网址模式,用于说明应用将侦听请求的位置,并使用“Hello World”消息响应任何请求。
app.yaml
app.yaml
文件描述了应用的以下配置:
- 设置
env: flex
,以指示您的应用使用 App Engine 柔性环境。 指定应用使用的运行时。
- 如需详细了解 Java 运行时的工作原理,请参阅 Java 运行时。
pom.xml
Hello World 还包含一个
pom.xml
文件,其中包含有关项目的信息,例如其依赖项和构建目标。- 如需详细了解
pom.xml
文件,请参阅 Maven 文档。