Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

มาดูความสามารถที่น่าสนใจใน Spring Boot 2.3.0.M1

$
0
0

ในตอนนี้ทาง Spring  ได้ปล่อย Spring Boot 2.3.0.M1 ออกมา
มีความสามารถที่น่าสนใจคือ

  • สร้าง Docker image ด้วย Cloud Native Buildpacks แล้ว
  • ทำการ optimized layer  ต่าง ๆ ใน JAR file เพื่อให้สร้างได้ดีและเร็วขึ้น

มาดูว่าใช้งานกันอย่างไรบ้าง

เริ่มต้นด้วยการใช้งานร่วมกับ Buildpacks

โดยจะเพิ่ม task ใหม่เข้ามาทั้ง Apache Maven และ  Gradle

  • Apache maven คือ spring-boot:build-image
  • Gradle คือ bootBuildImage

เพื่อให้เราสร้าง Docker image ได้เลย
จะช้าในครั้งแรกเพราะว่า ทำการดึง base image
ชื่อว่า cloudfoundry/run:base-cnb จาก Docker Hub
จากนั้นก็เข้าสู่ขั้นตอนการ build ของ buildpacks
ตัวอย่างของ Apache Maven

[gist id="fff919c98cd7437d399c030b16a7b156" file="1.txt"]

เมื่อได้ Docker image มาแล้ว ก็นำไปสร้าง container ต่อได้เลย
น่าจะทำให้ชีวิตง่ายขึ้นเยอะ

[gist id="fff919c98cd7437d399c030b16a7b156" file="2.txt"]

แต่ความสามารถนี้ ตอนนี้ยังไม่สนับสนุนบน Windows นะ !!
มาถึงตรงนี้น่าจะเป็นจุดเริ่มต้นที่ดี
ว่าในอนาคตจะเดินไปทิศทางใดบ้าง

ต่อมา ลองสร้าง  Layered JAR กัน

ทำการแก้ไข configuration นิดหน่อย
ตัวอย่างใช้งาน Apache Maven ดังนั้นจึงแก้ไขในไฟล์ pom.xml ดังนี้

[gist id="fff919c98cd7437d399c030b16a7b156" file="pom.xml"]

จากนั้นทำการสร้างไฟล์ JAR ใหม่ 
ทำการดูได้ด้วยว่า แต่และ layer เป็นอย่างไร รวมทั้ง extract ออกมาได้ดังนี้

[gist id="fff919c98cd7437d399c030b16a7b156" file="3.txt"]

เมื่อ extract ออกมาแล้วจะมี folder ต่าง ๆ ออกมาดังนี้

  • Dependencies จะเก็บ library ทั้งหมดที่ระบบงานใช้งาน ซึ่งเยอะมาก ๆ ที่สำคัญจะไม่ค่อยเปลี่ยน
  • Application จะเก็บ class file ต่าง ๆ ของระบบงานที่เราเขียนขึ้นมา พร้อมทั้ง spring loader

Layer ต่าง ๆ ของไฟล์ JAR แล้ว จะมีทั้งที่เป็น static และ dynamic 
ถ้าเราจัดการดี ๆ แล้ว จะช่วยให้การ build เร็วขึ้นอย่างมาก
และเราสามารถสร้าง Docker image
ด้วยการนำ layer ต่าง ๆ มารวมกันใน Dockerfile ของเราได้เลย
ยกตัวอย่างเช่น

[gist id="fff919c98cd7437d399c030b16a7b156" file="Dockerfile"]

ลองใช้งานดูครับ สะดวกขึ้นเยอะเลย

Reference Websites


Viewing all articles
Browse latest Browse all 1997

Trending Articles