สร้างและเปิดแอป Spring Boot Java จาก Cloud Shell

1. ก่อนเริ่มต้น

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

2. การตั้งค่าและข้อกำหนด

การตั้งค่าสภาพแวดล้อมแบบเรียนรู้ด้วยตนเอง

  1. หากยังไม่มีบัญชี Google คุณต้องสร้างบัญชี ลงชื่อเข้าใช้ Cloud Console แล้วสร้างโปรเจ็กต์ใหม่

3c50189ec031c0cf.png

ภาพหน้าจอจาก 2016-02-10 12:45:26.png

โปรดจดจำรหัสโปรเจ็กต์ ซึ่งเป็นชื่อที่ไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมด (ชื่อในรูปภาพถูกใช้ไปแล้วและจะใช้ไม่ได้ ขออภัย) ซึ่งจะอ้างอิงถึงในภายหลังในโค้ดแล็บเป็น PROJECT_ID

  1. จากนั้นคุณต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร Google Cloud การทำตาม Codelab ไม่ควรมีค่าใช้จ่ายเกิน 2-3 ดอลลาร์ แต่ก็อาจมีค่าใช้จ่ายมากกว่านี้หากคุณตัดสินใจใช้ทรัพยากรเพิ่มเติมหรือปล่อยให้ทรัพยากรทำงานต่อไป

ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์รับช่วงทดลองใช้ฟรีมูลค่า$300

Cloud Shell

เครื่องเสมือนที่ใช้ Debian นี้มาพร้อมเครื่องมือพัฒนาทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักแบบถาวรขนาด 5 GB และทำงานใน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก ซึ่งหมายความว่าคุณจะต้องมีเพียงเบราว์เซอร์เท่านั้นสำหรับโค้ดแล็บนี้ (ใช่แล้ว ใช้ได้ใน Chromebook)

  1. หากต้องการเปิดใช้งาน Cloud Shell จาก Cloud Console เพียงคลิกเปิดใช้งาน 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 ตรวจสอบว่าคุณใช้รหัสใดในขั้นตอนการตั้งค่า หรือค้นหารหัสในแดชบอร์ด Cloud Console

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 ใหม่ พร้อมด้วย pom.xml ของ Maven, Maven Wrapper และจุดแรกเข้าของแอป

4. สร้างบริการ RESTful ใหม่ด้วยเครื่องมือแก้ไขโค้ด

  1. เปิดโปรแกรมแก้ไขโค้ดโดยคลิกเปิดโปรแกรมแก้ไข 2109d75686c889a.pngในเมนู Cloud Shell
  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. หลังจากแอปเริ่มทำงานแล้ว ให้คลิกตัวอย่างเว็บ1a94d5bd10bfc072.pngในแถบเครื่องมือ Cloud Shell แล้วคลิกแสดงตัวอย่างบนพอร์ต 8080

6252b94905f3f7bd.png

แท็บในเบราว์เซอร์จะเปิดขึ้นและเชื่อมต่อกับเซิร์ฟเวอร์ที่คุณเริ่ม

8281cd520b191970.png

6. ขอแสดงความยินดี

คุณได้เรียนรู้วิธีสร้างและเปิดตัวเว็บแอป Java ของ Spring Boot ใหม่จาก Cloud Shell โดยตรง

ดูข้อมูลเพิ่มเติม