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 启动该应用。
所需条件
- Google Cloud 项目
- 浏览器,例如 Google Chrome
2. 设置和要求
自定进度的环境设置
请请记住项目 ID,它在所有 Google Cloud 项目中都是唯一名称(很抱歉,图中的名称已被占用,您无法使用!)。它稍后将在 Codelab 中被称为 PROJECT_ID
。
- 接下来,您需要在 Cloud 控制台中启用结算功能,才能使用 Google Cloud 资源。在 Codelab 中运行仅花费几美元,但是如果您决定使用更多资源或继续让它们运行,费用可能更高。
Google Cloud 的新用户有资格获享$300 免费试用。
Cloud Shell
基于 Debian 的这个虚拟机已加载了您需要的所有开发工具。它提供了一个持久的 5GB 主目录,并且在 Google Cloud 中运行,大大增强了网络性能和身份验证。这意味着在本 Codelab 中,您只需要一个浏览器(没错,它适用于 Chromebook)。
- 如需从 Cloud Console 激活 Cloud Shell,只需点击激活 Cloud Shell(预配和连接到环境仅需花费一些时间)。
在连接到 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:
默认情况下,Cloud Shell 还会设置一些环境变量,这对您日后运行命令可能会很有用。
echo $GOOGLE_CLOUD_PROJECT
命令输出
<PROJECT_ID>
- 最后,设置默认可用区和项目配置。
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 服务
- 点击 Cloud Shell 菜单中的打开编辑器 ,打开代码编辑器。
- 编辑器打开后,找到
helloworld/src/main/java/com/example/demo/DemoApplication.java
文件。
- 代码打开后,创建一个新的 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!";
}
}
- 保存文件!
5. 在本地运行应用
- 在代码编辑器中打开一个终端,方法是从编辑器菜单中选择
Terminal
,然后选择New Terminal
。 - 确保
JAVA_HOME
设置为正确的 JDK 版本:
$ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
- 您可以使用 Spring Boot 插件正常启动 Spring Boot 应用。
$ cd $HOME/helloworld $ ./mvnw -DskipTests spring-boot:run
- 在应用启动后,点击 Cloud Shell 工具栏中的网页预览,然后点击在端口 8080 上预览。
浏览器会打开一个标签页,并连接到您启动的服务器。
6. 恭喜
您已了解如何直接从 Cloud Shell 构建和启动新的 Spring Boot Java Web 应用。