通过 Cloud Shell 构建和启动 Spring Boot Java 应用

通过 Cloud Shell 构建和启动 Spring Boot Java 应用

关于此 Codelab

subject上次更新时间:4月 12, 2023
account_circleGoogle 员工编写

1. 准备工作

Cloud Shell 是一款基于浏览器的命令行工具,可用于访问 Google Cloud 资源。Cloud Shell 让您可以轻松管理 Cloud 控制台项目和资源,而无需在系统上安装 Cloud SDK 和其他工具。

您将使用 Cloud Shell 构建和启动 Spring Boot 应用,而无需离开浏览器。为此,您将使用使用 Spring Boot 构建应用中的示例代码。

前提条件

  • 熟悉 Java 编程语言和工具
  • 了解标准的 Linux 文本编辑器,例如 Vim、Emacs 和 nano

您将执行的操作

  • 使用 Cloud Shell。
  • 在 Cloud Shell 中创建一个简单的 Spring Boot 应用。
  • 使用 Cloud Shell 中的代码编辑器修改应用。
  • 从 Cloud Shell 启动该应用。

所需条件

2. 设置和要求

自定进度的环境设置

  1. 如果您还没有 Google 账号,则必须创建一个。登录 Cloud 控制台并创建一个新项目。

3c50189ec031c0cf.png

2016-02-10 12:45:26 的屏幕截图.png

请请记住项目 ID,它在所有 Google Cloud 项目中都是唯一名称(很抱歉,图中的名称已被占用,您无法使用!)。它稍后将在 Codelab 中被称为 PROJECT_ID

  1. 接下来,您需要在 Cloud 控制台中启用结算功能,才能使用 Google Cloud 资源。在 Codelab 中运行仅花费几美元,但是如果您决定使用更多资源或继续让它们运行,费用可能更高。

Google Cloud 的新用户有资格获享$300 免费试用

Cloud Shell

基于 Debian 的这个虚拟机已加载了您需要的所有开发工具。它提供了一个持久的 5GB 主目录,并且在 Google Cloud 中运行,大大增强了网络性能和身份验证。这意味着在本 Codelab 中,您只需要一个浏览器(没错,它适用于 Chromebook)。

  1. 如需从 Cloud Console 激活 Cloud Shell,只需点击激活 Cloud Shellb125d9eb26a46cc5.png(预配和连接到环境仅需花费一些时间)。

1067942a9a93f70

Screen Shot 2017-06-14 at 10.13.43 PM.png

在连接到 Cloud Shell 后,您应该会看到自己已通过身份验证,并且相关项目已设置为您的 PROJECT_ID

gcloud auth list

命令输出

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

命令输出

[core]
project = <PROJECT_ID>

如果出于某种原因未设置项目,只需发出以下命令即可:

gcloud config set project <PROJECT_ID>

正在查找您的 PROJECT_ID?检查您在设置步骤中使用的 ID,或在 Cloud Console 信息中心查找该 ID:

cc3895eeac80db2c.png

默认情况下,Cloud Shell 还会设置一些环境变量,这对您日后运行命令可能会很有用。

echo $GOOGLE_CLOUD_PROJECT

命令输出

<PROJECT_ID>
  1. 最后,设置默认可用区和项目配置。
gcloud config set compute/zone us-central1-f

您可以选择各种不同的可用区。如需了解详情,请参阅区域和可用区

3. 初始化新的 Spring Boot 应用

安装 Spring Boot 命令行工具后,您可以初始化和引导新的“Hello, World”Web 应用。

$ curl https://start.spring.io/starter.tgz \
  -d dependencies=web \
  -d type=maven-project \
  -d baseDir=helloworld | tar -xzvf -

这将创建一个新目录,其中包含新的 Maven 项目、Maven 的 pom.xml、一个 Maven 封装容器和一个应用入口点。

4. 使用代码编辑器创建新的 RESTful 服务

  1. 点击 Cloud Shell 菜单中的打开编辑器 2109d75686c889a,打开代码编辑器。
  2. 编辑器打开后,找到 helloworld/src/main/java/com/example/demo/DemoApplication.java 文件。

f26aa4faf9b35058.png

  1. 代码打开后,创建一个新的 RESTful 控制器来响应 Hello。在 DemoApplication.java 文件中,在当前类之外添加一个新的 Helloworld 类定义。

src/main/java/com/example/demo/DemoApplication.java

package com.example;

...

// Add the import
import org.springframework.web.bind.annotation.*;

@SpringBootApplication
public class DemoApplication {
...
}

// Add the controller
@RestController
class Helloworld {
       
@GetMapping("/")
       
public String greet() {
               
return "Hello!";
       
}
}
  1. 保存文件!

5. 在本地运行应用

  1. 在代码编辑器中打开一个终端,方法是从编辑器菜单中选择 Terminal,然后选择 New Terminal
  2. 确保 JAVA_HOME 设置为正确的 JDK 版本:
$ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
  1. 您可以使用 Spring Boot 插件正常启动 Spring Boot 应用。
$ cd $HOME/helloworld
$ ./mvnw -DskipTests spring-boot:run

a4c65d9e3f7494bf.png

  1. 在应用启动后,点击 Cloud Shell 工具栏中的网页预览1a94d5bd10bfc072,然后点击在端口 8080 上预览

6252b94905f3f7bd

浏览器会打开一个标签页,并连接到您启动的服务器。

8281cd520b191970

6. 恭喜

您已了解如何直接从 Cloud Shell 构建和启动新的 Spring Boot Java Web 应用。

了解详情