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

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

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

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

ภาพหน้าจอจาก 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 (ระบบจะใช้เวลาเพียงไม่กี่นาทีในการจัดสรรและเชื่อมต่อกับสภาพแวดล้อม)

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>

นอกจากนี้ Cloud Shell ยังตั้งค่าตัวแปรสภาพแวดล้อมบางอย่างโดยค่าเริ่มต้น ซึ่งอาจมีประโยชน์เมื่อคุณเรียกใช้คำสั่งในอนาคต

echo $GOOGLE_CLOUD_PROJECT

เอาต์พุตของคำสั่ง

<PROJECT_ID>

หากไม่ได้ตั้งค่าโปรเจ็กต์ด้วยเหตุผลบางประการ ให้เรียกใช้คำสั่งต่อไปนี้

gcloud config set project <PROJECT_ID>

หากกำลังมองหา PROJECT_ID ตรวจสอบว่าคุณใช้รหัสใดในขั้นตอนการตั้งค่า หรือค้นหารหัสในแดชบอร์ด Cloud Console

Project_ID.png

  1. สุดท้าย ให้ตั้งค่าโซนเริ่มต้นและการกำหนดค่าโปรเจ็กต์
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 และจุดแรกเข้าของแอป

  1. เปิดโปรแกรมแก้ไขโค้ดโดยคลิกเปิดตัวแก้ไข ในเมนู Cloud Shell
  2. หลังจากเปิดเครื่องมือแก้ไขแล้ว ให้ค้นหาไฟล์ helloworld/src/main/java/com/example/demo/DemoApplication.java

  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. บันทึกไฟล์
  1. คุณสามารถเริ่มแอป Spring Boot ได้ตามปกติด้วยปลั๊กอิน Spring Boot
$ cd $HOME/helloworld
$ ./mvnw -DskipTests spring-boot:run

  1. หลังจากแอปเริ่มทำงานแล้ว ให้คลิกตัวอย่างเว็บในแถบเครื่องมือ Cloud Shell แล้วคลิกแสดงตัวอย่างบนพอร์ต 8080

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

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

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