透過 Cloud Shell 建構及啟動 Spring Boot Java 應用程式

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 專案的專屬名稱 (映像檔中的名稱已經有人使用,很抱歉無法為您解決問題!)。稍後在程式碼研究室中會稱為 PROJECT_ID

  1. 接下來,您需要在 Cloud 控制台中啟用計費功能,才能使用 Google Cloud 資源。執行程式碼研究室的成本不應超過數美元,但如果您決定使用更多資源,或讓這些資源繼續運作,費用會增加。

Google Cloud 的新使用者符合免費試用$300 美元的資格。

Cloud Shell

這種以 Debian 為基礎的虛擬機器,搭載各種您需要的開發工具。提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作,大幅提高網路效能和驗證能力。換言之,本程式碼研究室只需要在 Chromebook 上運作即可。

  1. 如要透過 Cloud 控制台啟用 Cloud Shell,只要點選「啟用 Cloud Shell」 圖示 b125d9eb26a46cc5.png 即可 (整個佈建作業只需幾分鐘的時間,操作完畢即可)。

1067942a9a93f70.png

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 控制台資訊主頁查詢:

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」網頁應用程式。

$ 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. 使用程式碼編輯器建立符合 REST 樣式的新服務

  1. 按一下 Cloud Shell 選單中的「開啟編輯器」 2109d75686c889a.png,開啟程式碼編輯器。
  2. 編輯器開啟後,找出 helloworld/src/main/java/com/example/demo/DemoApplication.java 檔案。

f26aa4faf9b35058.png

  1. 開啟程式碼後,請建立新的符合 REST 樣式的控制器來回應 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. 在編輯器選單中依序選取 TerminalNew 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.png,然後點選「透過以下通訊埠預覽:8080」

6252b94905f3f7bd.png

瀏覽器會開啟一個分頁,並連線至您啟動的伺服器。

8281cd520b191970.png

6. 恭喜

您已瞭解如何直接透過 Cloud Shell 建構及啟動新的 Spring Boot Java 網頁應用程式。

瞭解詳情