- vừa được xem lúc

Docker to Serverless (Google Cloud Platform)

0 0 14

Người đăng: Nguyễn Hữu Đồng

Theo Medium

Auto deploy khi push code lên GitHub

Để tự động hóa quá trình builddeploy thì mình dùng đến dịch vụ google cloud build, trình tự sẽ như thế này, kết nối GitHub repository với cloud build, tạo một triggerđến một event từ githubví dụ như là khi push to a branch, push new tag

Ví dụ như trong hình mình setup một trigger cứ mỗi khi mình push code lên branch master thì cloud buildsẽ tiến hành làm những công việc mình đã định nghĩa trong file cloudbuild.yaml

Sau khi tạo xong trigger

Nội dung file cloudbuild.yamltrong gitHub repository

steps:
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'asia.gcr.io/tough-racer-272817/blog:$SHORT_SHA', '.']
- name: 'gcr.io/cloud-builders/docker'
args: ['push', 'asia.gcr.io/tough-racer-272817/blog:$SHORT_SHA']
- name: 'gcr.io/cloud-builders/docker'
args: ['tag', 'asia.gcr.io/tough-racer-272817/blog:$SHORT_SHA', 'asia.gcr.io/tough-racer-272817/blog:latest']
- name: 'gcr.io/cloud-builders/docker'
args: ['push', 'asia.gcr.io/tough-racer-272817/blog:latest']
- name: 'gcr.io/cloud-builders/gcloud'
args:
- beta
- run
- deploy
- --region=asia-east1
- --image=asia.gcr.io/tough-racer-272817/blog:latest
- --cpu=1
- --memory=128Mi
- --max-instances=1
- --platform=managed
- --port=80
- --concurrency=100
- --allow-unauthenticated
- blog
images:
- 'asia.gcr.io/tough-racer-272817/blog:latest'

Trình tự các bước mà cloud run sẽ làm

  1. Build image và đánh tagcho nó.
  2. Đẩy image đã build lên container registry
  3. Đánh thêm tag latest nữa cho image
  4. Đẩy image với tag latest lên container registry
  5. Chạy lệnh để deploylên cloud run với image có tag latest

Nhưng trước tiên, bạn phải setup kết nối gitHub repository và cấp quyền cho cloud build với thêm hai role Cloud Run AdminCloud Run Service Agent là trong cài đăt IAM

Và bây giờ mọi thứ đã có thể diễn ra tự động rồi, mình sẽ commit code và push lên branch master, và đây là kết quả

Bình luận