เชื่อว่าหลายคนคงได้เห็น 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 เพิ่ม **
- อย่างแรกเลย เราก็ต้องเตรียม 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 ใหม่
- เสร็จแล้วเราก็ต้องเอาไฟล์ cloudbuild.yaml ไปไว้ใน repo ด้วย โดยจะอยู่ที่ root หรือ ใน folder ก็ได้
- ทีนี้เราก็จะไป 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 แต่เราสามารถตั้งได้

- ทดลองดูว่าเรา setup ถูกหรือเปล่า โดยกดปุ่ม “Run Trigger” ที่อยู่ด้านขวาสุดได้เลย แล้วก็ต้องกดเลือก tag ที่จะ build ด้วย
- พอ Cloud Build เริ่ม เราก็จะเห็น row ใหม่ใน Build History แทป รอซักพัก

- เพียงแค่นี้เราก็ได้ automated build and deploy แบบง่ายๆ ไว้ใช้แล้ว
- Google ให้เราได้ 120 build minutes / day อย่างของผมใช้เวลา build + deploy แค่ 3 นาที ก็ทำให้ build ได้ตั้ง 40 รอบต่อวันแล้ว
หากใครมีข้อสงสัยหรือข้อแนะนำก็สามารถ comment ได้เลยนะครับ หรือส่ง email มาที่ info@bitfoundry.co