สร้างและเปิดแอป 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

ภาพหน้าจอจากวันที่ 10-02-2016 เวลา 12:45:26.png

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

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

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

Cloud Shell

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

  1. หากต้องการเปิดใช้งาน Cloud Shell จาก Cloud Console เพียงคลิกเปิดใช้งาน Cloud Shell b125d9eb26a46cc5.png (จะใช้เวลาเพียงไม่นานในการจัดสรรและเชื่อมต่อกับสภาพแวดล้อม)

1067942a9a93f70.png

Screen Shot 14-06-2017 เวลา 22.13.43 น.

เมื่อเชื่อมต่อกับ 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, Wrapper ของ Maven และจุดแรกเข้าของแอป

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. ขอแสดงความยินดี

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

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