CI/CD với Cloud Build

Tram Ho

Một trong những điều mình thích nhất ở Cloud Providers là chỉ cần khai báo 1 vài dòng lệnh còn lại mình không phải care

Cloud Build – the serverless CI/CD product of Google Cloud là một trong những thứ hay ho nhất. Đơn giản bởi vì nó dễ apply, thông minh mà hiệu quả

Các bạn đã sẵn sàng chưa. Bắt đầu thôi

Google Cloud Build là gì?

Đây là một sản phẩm của GCP nhằm build mã nguồn của tất cả ngôn ngữ lập trình.

  • Tăng tôc độ build với VMs trên Cloud và không tốn tài nguyên của máy cá nhân.
  • Mã nguồn được đặt ở Local, Github, Cloud Source Repositories hoặc Bitbucket đều sử dụng được Cloud Build
  • Cloud Build hỗ trợ nhiều sự lựa chọn để build mã nguồn: Docker container,Maven, Gradle, webpack, Go hoặc Bazel.
  • Kết quả sau khi thực hiện build sẽ được đẩy lên Docker Hub hoặc Container Registry.
  • Có thể tùy chỉnh luồng xử lý build theo ý muốn của bạn.
  • Miễn phí cho thời gian build là 120 phút/ 1 ngày.

The trigger functionality of Cloud Build

1. Chuẩn bị

2. Phân quyền và kích hoạt Cloud Build API

2.1 Search IAM & Admin và cấp cho user [email protected] các quyền này nhé :

2.2 kích hoạt cloud build api. Bạn vào link này vào chọn project

https://console.cloud.google.com/flows/enableapi?apiid=cloudbuild.googleapis.com&redirect=https:%2F%2Fcloud.google.com%2Fcloud-build%2Fdocs%2Fquickstart-docker&_ga=2.170700775.-618198222.1566810450

2.3 Kích hoạt Cloud KMS API
https://console.cloud.google.com/flows/enableapi?apiid=cloudkms.googleapis.com&redirect=https:%2F%2Fconsole.cloud.google.com&_ga=2.143835250.-618198222.1566810450

2.4 Kích hoạt Service Account User permissions và Cloud KMS CryptoKey Decrypter
https://console.cloud.google.com/cloud-build/settings?project={Id project của bạn}

3. Tạo file cloud-build.yaml

Mình cần tạo file cloud-build.yaml và đẩy lên source nhé
Trong file này mình sẽ viết các step mà cloud build cần thực hiện để deploy nhé
bạn có thể tham khảo cách viết tại đây
https://cloud.google.com/cloud-build/docs/build-config

4. Connect repository và tạo Build Trigger

Chú ý: Để có thể connect đến một repo private, cần thêm các config trong file cloudbuild.yaml. Xem hướng dẫn chi tiết tại link dưới: https://cloud.google.com/cloud-build/docs/access-private-github-repos

Tiếp theo bạn vào link
https://console.cloud.google.com/cloud-build/triggers?orgonly=true&project={project id của bạn}
chọn Connect repository. Ở đây mình chọn là GitHub (Cloud Build GitHub App) nhé

Tiếp theo bạn cần chọn git cần connect nhé, Ví dụ như bên dưới:

Lưu ý quan trọng là để chọn được git thì bạn phải có quyền owner nhé

Sau khi mình hoàn thành các bước mình sẽ có 1 cái trigger như này nhé

Tiếp theo các bạn chọn edit trigger này nhé. Ở mục build configuration mình chọn
Cloud Build configuration file (yaml or json) và điền tên file .yaml mình tạo bên trên vào đây nhé

Mục Event và Source bạn có thể chọn các option khác nhau. Ở đây mình config là có push vào branch master thì sẽ trigger cloud build nhé

Đến đây đây là mình đã hoàn thành việc cài đặt rồi nhé
Ngoài ra bạn cũng có thể run thủ công với branch mà mình chọn nhé

Chúc các bạn thành công

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo