เริ่มต้นกับ Google Cloud Build

เชื่อว่าหลายคนคงได้เห็น Google เปิดตัว Google Cloud Build เป็น GA (General Availability) ในงาน Google Cloud Next 2018 Google ไปแล้ว

วันนี้เราลองดูว่าจะเอามาใช้ทำ automated build and deploy ให้กับ project ได้ยังไงบ้างนะครับ

ในตัวอย่างนี้เราจะใช้ project front-end ของเราใน bitbucket ที่สามารถ build เป็น container ได้อยู่แล้วนะครับ เพื่อลดความยาวของ article

*บทความนี้เป็นเพียงแนะนำการใช้งาน Google Cloud Build เบื้องต้นเท่านั้น จริงๆแล้ว Cloud Build ยังสามารถทำอะไรได้มากกว่านี้อีกเยอะ ไว้มีโอกาสจะมา blog เพิ่ม **

  1. อย่างแรกเลย เราก็ต้องเตรียม file cloudbuild.yaml ก่อน เพื่อบอกขั้นตอนการ build เนื่องจาก project ของเรา build ออกมาเป็น docker image เรามีเลยแค่ 3 step ง่ายๆ คือ
  • build docker image โดยที่ Dockerfile อยู่ที่ root ของ repo
  • push docker image ที่ build จาก step แรก ไปที่ gcr (Google Container Registry)
  • update deployment ใน GKE ให้ไปใช้ image ใหม่
  1. เสร็จแล้วเราก็ต้องเอาไฟล์ cloudbuild.yaml ไปไว้ใน repo ด้วย โดยจะอยู่ที่ root หรือ ใน folder ก็ได้
  2. ทีนี้เราก็จะไป setup trigger ของ Cloud Build โดย cloud build โดยสามารถ link กับ github, bitbucket, แล้วก็ Cloud Source Repository ของ Google เอง ส่วนใหญ่ก็ไม่ยาก ที่สำคัญก็มี
  • เราสามารถเลือกว่าให้ build เฉพาะ commit ในบาง branch ได้ เช่น เราอาจมี 2 trigger ที่ deploy ไปคนละ cluster
  • Location ของ cloudbuild.yaml โดย default จะอยู่ที่ root แต่เราสามารถตั้งได้ 
  1. ทดลองดูว่าเรา setup ถูกหรือเปล่า โดยกดปุ่ม “Run Trigger” ที่อยู่ด้านขวาสุดได้เลย แล้วก็ต้องกดเลือก tag ที่จะ build ด้วย
  2. พอ Cloud Build เริ่ม เราก็จะเห็น row ใหม่ใน Build History แทป รอซักพัก
  1. เพียงแค่นี้เราก็ได้ automated build and deploy แบบง่ายๆ ไว้ใช้แล้ว
  2. Google ให้เราได้ 120 build minutes / day อย่างของผมใช้เวลา build + deploy แค่ 3 นาที ก็ทำให้ build ได้ตั้ง 40 รอบต่อวันแล้ว

หากใครมีข้อสงสัยหรือข้อแนะนำก็สามารถ comment ได้เลยนะครับ หรือส่ง email มาที่ info@bitfoundry.co