Deploy your app

检查我的进度

/ 100

此实验可能会提供 AI 工具来支持您学习。

GSP068

Google Cloud 自学实验

概览

借助 App Engine,开发者可以集中精力做他们最擅长的事:写代码。App Engine 标准环境基于在 Google 基础设施上运行的容器实例。容器预先配置了几种可用运行时之一(Java、Python、Go 和 PHP)。每种运行时还包含支持 App Engine 标准环境 API 的库。对许多应用来说,标准环境运行时和库可能已经足以满足需求。

借助 App Engine 标准环境,您可以轻松构建和部署应用,并保证即便在负载繁重、数据量庞大时,应用也能可靠运行。它包括以下功能:

  • 永久性存储空间;支持查询、排序和事务。
  • 自动扩缩和负载均衡。
  • 用于执行请求范围之外的工作的异步任务队列。
  • 用于在指定时间或按固定时间间隔触发事件的计划任务。
  • 与其他 Google Cloud 服务和 API 集成。

应用在安全的沙盒环境中运行,这使得 App Engine 标准环境能够跨多个服务器分发请求,并能根据流量需求扩缩服务器。您的应用在专属的安全可靠环境中运行,该环境独立于服务器硬件、操作系统或物理位置存在。

本实操实验将向您介绍如何创建显示简短消息的小型 App Engine 应用。

目标

在本实验中,您将学习如何完成以下操作:

  • 从 GitHub 代码库下载起始代码。
  • 使用 Google App Engine 部署应用。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。右侧是实验设置和访问权限面板,其中包含以下内容:

    • 打开 Google Cloud 控制台按钮
    • 您在本实验中必须使用的临时凭证(用户名和密码)
    • 帮助您逐步完成该实验所需的其他信息(如果需要)

    请注意,实验计时器位于页面顶部附近,将显示剩余时间。

  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:可以将这些标签页分别放在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在实验设置和访问权限面板中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在实验设置和访问权限面板中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭证。请勿使用您的 Google Cloud 账号凭证。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 依次点击进入后续页面:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重身份验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

  2. 在弹出的窗口中执行以下操作:

    • 继续完成 Cloud Shell 信息窗口中的设置。
    • 授权 Cloud Shell 使用您的凭据进行 Google Cloud API 调用。

如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 Project_ID 。输出内容中有一行说明了此会话的 Project_ID

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

输出:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需查看在 Google Cloud 中使用 gcloud 的完整文档,请参阅 gcloud CLI 概览指南

任务 1. 下载示例 HTTP Server 应用

我们创建了一个用 Java 编写的简单 HTTP Server 应用,以便您快速了解如何在 Google Cloud 上部署应用。请按照以下步骤下载 HTTP Server 示例代码。

  1. 点击 Cloud 控制台右上角的激活 Cloud Shell 按钮,打开一个新的 Cloud Shell 会话。

  2. 在新的 Cloud Shell 终端中,运行以下命令,将文件从 Google Cloud Storage 复制到本地目录:

gcloud storage cp -r gs://spls/gsp068/appengine-java21/appengine-java21/* .

输出:

Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/http-server/src/main/java/com/example/appengine/Main.java to file://./helloworld/http-server/src/main/java/com/example/appengine/Main.java Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/pom.xml to file://./helloworld/pom.xml Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/settings.gradle to file://./helloworld/settings.gradle Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/src/main/java/com/example/appengine/java21/HelloAppEngine.java to file://./helloworld/src/main/java/com/example/appengine/java21/HelloAppEngine.java Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/src/main/webapp/WEB-INF/appengine-web.xml to file://./helloworld/src/main/webapp/WEB-INF/appengine-web.xml Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/src/main/webapp/WEB-INF/web.xml to file://./helloworld/src/main/webapp/WEB-INF/web.xml Copying gs://spls/gsp068/appengine-java21/appengine-java21/helloworld/src/test/java/com/example/appengine/java21/HelloAppEngineTest.java to file://./helloworld/src/test/java/com/example/appengine/java21/HelloAppEngineTest.java Completed files 20/20 | 54.2kiB/54.2kiB Average throughput: 40.0kiB/s
  1. 接下来,前往包含示例代码的目录:
cd helloworld/http-server

在此文件夹中,您会找到 src 目录,其中包含一个名为 com.example.appengine 的软件包。此软件包包含 HTTP Server 应用的源代码。

源代码如下所示:

package com.example.appengine; import com.sun.net.httpserver.HttpServer; import java.io.IOException; import java.io.OutputStream; import java.net.InetSocketAddress; public class Main { public static void main(String[] args) throws IOException { // Create an instance of HttpServer bound to port defined by the // PORT environment variable when present, otherwise on 8080. int port = Integer.parseInt(System.getenv().getOrDefault("PORT", "8080")); HttpServer server = HttpServer.create(new InetSocketAddress(port), 0); // Set root URI path. server.createContext("/", (var t) -> { byte[] response = "Hello World!".getBytes(); t.sendResponseHeaders(200, response.length); try (OutputStream os = t.getResponseBody()) { os.write(response); } }); // Create a second URI path. server.createContext("/foo", (var t) -> { byte[] response = "Foo!".getBytes(); t.sendResponseHeaders(200, response.length); try (OutputStream os = t.getResponseBody()) { os.write(response); } }); server.start(); } }

运作方式

此代码会在 Google App Engine 上创建一个基本 Web 服务器,该服务器会响应以下两个地址:

  • /:(主页面)显示“Hello World!”
  • /foo:(特殊页面)显示“Foo!”
  1. 导入:包括用于创建服务器和处理请求的工具。
  2. 主函数:在应用运行时启动应用。
  3. 服务器创建
    • 确定要使用的端口(来自 App Engine 或默认端口 8080)。
    • 创建一个用于监听该端口的 Web 服务器。
  4. 请求处理
    • 设置了两条规则:
      • 如果有人访问主页面 (/),则显示“Hello World!”
      • 如果有人访问 /foo,则显示“Foo!”
  5. 启动:服务器开始运行,准备响应 Web 请求。

App Engine 可为您处理服务器管理、扩缩和安全事务,从而简化 Web 应用开发。这是快速启动并运行简单 Web 应用的理想方式。

任务 2. 部署并查看应用

在此任务中,您需要将 HTTP Server 应用部署到 Google App Engine。

  1. 现在,您将使用以下命令在 App Engine 上创建一个应用:
gcloud app deploy
  1. 系统提示时,输入与 关联的数字选项。输入 y 以继续。

  2. 如需查看您的应用,请使用以下命令:

gcloud app browse

您应该很快会收到以下输出内容(您的网址会有所不同):

Did not detect your browser. Go to this link to view your app: https://qwiklabs-gcp-00-3e8fa18ec9dc.uc.r.appspot.com
  1. 点击该链接即可在网络浏览器中查看已部署的应用。您应该会看到一个显示“Hello World!”的简单网页。

  2. 接下来,在地址栏中的网址末尾附加 /foo,然后按 Enter 键。您应该会看到一个显示“Foo!”的页面。

点击检查我的进度以验证是否完成了以下目标:

部署应用。

任务 3. 知识测验

参加测验,检验您对 Google Cloud Platform 知识的掌握情况。(必要时请选择多个正确选项。)

恭喜!

恭喜!在本实验中,您学习了如何将简单的 Java 应用部署到 Google App Engine。您还学习了如何在网络浏览器中查看已部署的应用。

后续步骤/了解详情

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

本手册最后更新时间:2025 年 2 月 6 日

本实验最后测试时间:2025 年 2 月 6 日

版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

使用无痕模式或无痕浏览器窗口是运行此实验的最佳方式。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。