Cloud Shell เป็นเครื่องมือบรรทัดคำสั่งบนเบราว์เซอร์ที่ช่วยให้คุณเข้าถึงทรัพยากร Google Cloud ได้ Cloud Shell ช่วยให้คุณจัดการโปรเจ็กต์และทรัพยากรของ Cloud Console ได้อย่างง่ายดายโดยไม่ต้องติดตั้ง Cloud SDK และเครื่องมืออื่นๆ ในระบบ
คุณจะใช้ Cloud Shell เพื่อสร้างและเปิดใช้แอป Spring Boot โดยไม่ต้องออกจากเบราว์เซอร์ โดยคุณจะใช้โค้ดตัวอย่างจากการสร้างแอปด้วย Spring Boot
ข้อกำหนดเบื้องต้น
- ความคุ้นเคยกับภาษาโปรแกรมและเครื่องมือ Java
- ความรู้เกี่ยวกับโปรแกรมแก้ไขข้อความมาตรฐานของ Linux เช่น Vim, Emacs และ nano
สิ่งที่คุณต้องทำ
- ใช้ Cloud Shell
- สร้างแอป Spring Boot อย่างง่ายใน Cloud Shell
- แก้ไขแอปโดยใช้ตัวแก้ไขโค้ดใน Cloud Shell
- เปิดแอปจาก Cloud Shell
สิ่งที่ต้องมี
- โปรเจ็กต์ Google Cloud
- เบราว์เซอร์ เช่น Google Chrome
การตั้งค่าสภาพแวดล้อมแบบเรียนรู้ด้วยตนเอง
- หากยังไม่มีบัญชี Google คุณต้องสร้างบัญชี ลงชื่อเข้าใช้ Cloud Console แล้วสร้างโปรเจ็กต์ใหม่
โปรดจดจำรหัสโปรเจ็กต์ ซึ่งเป็นชื่อที่ไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมด (ชื่อในรูปภาพถูกใช้ไปแล้วและจะใช้ไม่ได้ ขออภัย) ซึ่งจะอ้างอิงถึงในภายหลังในโค้ดแล็บเป็น PROJECT_ID
- จากนั้นคุณต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร Google Cloud การทำตาม Codelab ไม่ควรมีค่าใช้จ่ายเกิน 2-3 ดอลลาร์ แต่ก็อาจมีค่าใช้จ่ายมากกว่านี้หากคุณตัดสินใจใช้ทรัพยากรเพิ่มเติมหรือปล่อยให้ทรัพยากรทำงานต่อไป
ผู้ใช้ใหม่ของ Google Cloud มีสิทธิ์ทดลองใช้ฟรี$300
Cloud Shell
เครื่องเสมือนที่ใช้ Debian นี้มาพร้อมเครื่องมือพัฒนาทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักขนาด 5 GB ที่คงอยู่ถาวรและทำงานใน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก ซึ่งหมายความว่าคุณจะต้องมีเพียงเบราว์เซอร์เท่านั้นสำหรับโค้ดแล็บนี้ (ใช่แล้ว โค้ดแล็บนี้ใช้ได้ใน Chromebook)
- หากต้องการเปิดใช้งาน Cloud Shell จาก Cloud Console เพียงคลิกเปิดใช้งาน Cloud Shell
(ระบบจะใช้เวลาเพียงไม่กี่นาทีในการจัดสรรและเชื่อมต่อกับสภาพแวดล้อม)
เมื่อเชื่อมต่อกับ Cloud Shell แล้ว คุณควรเห็นว่าระบบได้ตรวจสอบสิทธิ์คุณแล้ว และตั้งค่าโปรเจ็กต์เป็น PROJECT_ID
แล้ว
gcloud auth list
เอาต์พุตของคำสั่ง
Credentialed accounts: - <myaccount>@<mydomain>.com (active)
gcloud config list project
เอาต์พุตของคำสั่ง
[core] project = <PROJECT_ID>
นอกจากนี้ Cloud Shell ยังตั้งค่าตัวแปรสภาพแวดล้อมบางอย่างโดยค่าเริ่มต้น ซึ่งอาจมีประโยชน์เมื่อคุณเรียกใช้คำสั่งในอนาคต
echo $GOOGLE_CLOUD_PROJECT
เอาต์พุตของคำสั่ง
<PROJECT_ID>
หากไม่ได้ตั้งค่าโปรเจ็กต์ด้วยเหตุผลบางประการ ให้เรียกใช้คำสั่งต่อไปนี้
gcloud config set project <PROJECT_ID>
หากกำลังมองหา PROJECT_ID
ตรวจสอบว่าคุณใช้รหัสใดในขั้นตอนการตั้งค่า หรือค้นหารหัสในแดชบอร์ด Cloud Console
- สุดท้าย ให้ตั้งค่าโซนเริ่มต้นและการกำหนดค่าโปรเจ็กต์
gcloud config set compute/zone us-central1-f
คุณเลือกโซนต่างๆ ได้หลากหลาย ดูข้อมูลเพิ่มเติมได้ที่ภูมิภาคและโซน
หลังจากติดตั้งเครื่องมือบรรทัดคำสั่ง Spring Boot แล้ว คุณจะเริ่มต้นและบูตสแตรปเว็บแอป "Hello, World" ใหม่ได้
$ curl https://start.spring.io/starter.tgz \ -d dependencies=web -d baseDir=helloworld | tar -xzvf -
ซึ่งจะสร้างไดเรกทอรีใหม่พร้อมโปรเจ็กต์ Maven ใหม่ รวมถึง pom.xml
ของ Maven, Maven Wrapper และจุดแรกเข้าของแอป
- เปิดโปรแกรมแก้ไขโค้ดโดยคลิกเปิดตัวแก้ไข
ในเมนู 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!";
}
}
- บันทึกไฟล์
- คุณสามารถเริ่มแอป Spring Boot ได้ตามปกติด้วยปลั๊กอิน Spring Boot
$ cd $HOME/helloworld $ ./mvnw -DskipTests spring-boot:run
- หลังจากแอปเริ่มทำงานแล้ว ให้คลิกตัวอย่างเว็บ
ในแถบเครื่องมือ Cloud Shell แล้วคลิกแสดงตัวอย่างบนพอร์ต 8080
แท็บในเบราว์เซอร์จะเปิดขึ้นและเชื่อมต่อกับเซิร์ฟเวอร์ที่คุณเริ่ม
คุณได้เรียนรู้วิธีสร้างและเปิดตัวเว็บแอป Java ใหม่ของ Spring Boot จาก Cloud Shell โดยตรง