1. Trước khi bắt đầu
Cloud Shell là một công cụ dòng lệnh dựa trên trình duyệt, cho phép bạn truy cập vào các tài nguyên trên Google Cloud. Cloud Shell giúp bạn dễ dàng quản lý các dự án và tài nguyên trên Cloud Console mà không cần cài đặt Cloud SDK và các công cụ khác trên hệ thống của mình.
Bạn sẽ sử dụng Cloud Shell để tạo và chạy một ứng dụng Spring Boot mà không cần rời khỏi trình duyệt. Để làm việc này, bạn sẽ dùng mã mẫu trong phần Tạo ứng dụng bằng Spring Boot.
Điều kiện tiên quyết
- Làm quen với ngôn ngữ lập trình và các công cụ Java
- Kiến thức về các trình chỉnh sửa văn bản tiêu chuẩn trên Linux, chẳng hạn như Vim, Emacs và nano
Bạn sẽ thực hiện
- Sử dụng Cloud Shell.
- Tạo một ứng dụng Spring Boot đơn giản trong Cloud Shell.
- Chỉnh sửa ứng dụng bằng trình soạn thảo mã trong Cloud Shell.
- Khởi chạy ứng dụng từ Cloud Shell.
Bạn cần có
- Một dự án trên Google Cloud
- Một trình duyệt, chẳng hạn như Google Chrome
2. Thiết lập và yêu cầu
Thiết lập môi trường theo tốc độ của riêng bạn
- Nếu chưa có Tài khoản Google, bạn phải tạo một tài khoản. Đăng nhập vào Cloud Console rồi tạo một dự án mới.


Hãy nhớ mã dự án, một tên duy nhất trên tất cả các dự án trên Google Cloud (tên trong hình ảnh đã được sử dụng và sẽ không hoạt động đối với bạn, xin lỗi!). Sau này, trong lớp học lập trình, chúng ta sẽ gọi đối tượng này là PROJECT_ID.
- Tiếp theo, bạn cần bật tính năng thanh toán trong Cloud Console để sử dụng các tài nguyên của Google Cloud. Việc chạy qua lớp học lập trình này sẽ không tốn của bạn quá vài đô la, nhưng có thể tốn nhiều hơn nếu bạn quyết định sử dụng nhiều tài nguyên hơn hoặc nếu bạn để các tài nguyên đó chạy.
Người dùng mới của Google Cloud đủ điều kiện dùng thử miễn phí 300 USD.
Cloud Shell
Máy ảo dựa trên Debian này được trang bị tất cả các công cụ phát triển mà bạn cần. Nền tảng này cung cấp một thư mục chính có dung lượng 5 GB và chạy trong Google Cloud, giúp tăng cường đáng kể hiệu suất mạng và hoạt động xác thực. Điều này có nghĩa là bạn chỉ cần một trình duyệt (có, trình duyệt này hoạt động trên Chromebook) cho lớp học lập trình này.
- Để kích hoạt Cloud Shell từ Bảng điều khiển Cloud, bạn chỉ cần nhấp vào Kích hoạt Cloud Shell
(mất vài phút để cung cấp và kết nối với môi trường).


Sau khi kết nối với Cloud Shell, bạn sẽ thấy rằng mình đã được xác thực và dự án đã được đặt thành PROJECT_ID.
gcloud auth list
Đầu ra của lệnh
Credentialed accounts: - <myaccount>@<mydomain>.com (active)
gcloud config list project
Đầu ra của lệnh
[core] project = <PROJECT_ID>
Nếu vì lý do nào đó mà dự án chưa được thiết lập, bạn chỉ cần đưa ra lệnh sau:
gcloud config set project <PROJECT_ID>
Bạn đang tìm PROJECT_ID? Kiểm tra mã nhận dạng bạn đã dùng trong các bước thiết lập hoặc tìm mã nhận dạng đó trong trang tổng quan của Cloud Console:

Cloud Shell cũng đặt một số biến môi trường theo mặc định, có thể hữu ích khi bạn chạy các lệnh trong tương lai.
echo $GOOGLE_CLOUD_PROJECT
Đầu ra của lệnh
<PROJECT_ID>
- Cuối cùng, hãy đặt cấu hình dự án và vùng mặc định.
gcloud config set compute/zone us-central1-f
Bạn có thể chọn nhiều múi giờ khác nhau. Để biết thêm thông tin, hãy xem phần Khu vực và vùng.
3. Khởi chạy một ứng dụng Spring Boot mới
Sau khi cài đặt công cụ dòng lệnh Spring Boot, bạn có thể khởi động và khởi tạo một ứng dụng web "Hello, World" mới.
$ curl https://start.spring.io/starter.tgz \ -d dependencies=web \ -d type=maven-project \ -d baseDir=helloworld | tar -xzvf -
Thao tác này sẽ tạo một thư mục mới có dự án Maven mới, cùng với pom.xml của Maven, một trình bao bọc Maven và một điểm truy cập ứng dụng.
4. Tạo một dịch vụ RESTful mới bằng trình soạn thảo mã
- Mở trình soạn thảo mã bằng cách nhấp vào Mở trình chỉnh sửa
trong trình đơn Cloud Shell. - Sau khi trình chỉnh sửa mở, hãy tìm tệp
helloworld/src/main/java/com/example/demo/DemoApplication.java.

- Sau khi mã mở, hãy tạo một bộ điều khiển RESTful mới để phản hồi
Hello. Trong tệpDemoApplication.java, hãy thêm một định nghĩa lớpHelloworldmới ngoài định nghĩa hiện tại.
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!";
}
}
- Lưu tệp!
5. Chạy ứng dụng cục bộ
- Mở một cửa sổ dòng lệnh trong trình soạn thảo mã bằng cách chọn
Terminalrồi chọnNew Terminaltrong trình đơn của trình soạn thảo. - Đảm bảo
JAVA_HOMEđược đặt thành phiên bản JDK chính xác:
$ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
- Bạn có thể khởi động ứng dụng Spring Boot như bình thường bằng trình bổ trợ Spring Boot.
$ cd $HOME/helloworld $ ./mvnw -DskipTests spring-boot:run

- Sau khi ứng dụng khởi động, hãy nhấp vào Xem trước trên web
trong thanh công cụ Cloud Shell, rồi nhấp vào Xem trước trên cổng 8080.

Một thẻ trong trình duyệt sẽ mở ra và kết nối với máy chủ mà bạn đã khởi động.

6. Xin chúc mừng
Bạn đã học được cách tạo và chạy một ứng dụng web Java Spring Boot mới ngay từ Cloud Shell.