+2

CI/CD với Cloud Build

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 .....@cloudbuild.gserviceaccount.com 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 🙏


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí