Day 4 - GCP DevOps
Cloud Build · Artifact Registry · 배포 파이프라인 개요
목차
학습 목표
- 이미지를 GCP 레지스트리에 푸시
cloudbuild.yaml로 빌드 자동화- Git → Build → Deploy 흐름 스케치
Artifact Registry
gcloud services enable artifactregistry.googleapis.com
gcloud artifacts repositories create demo-docker \
--repository-format=docker \
--location=asia-northeast3
# Docker 인증
gcloud auth configure-docker asia-northeast3-docker.pkg.dev
이미지 태그 예:
asia-northeast3-docker.pkg.dev/PROJECT_ID/demo-docker/app:1.0.0
Cloud Build
cloudbuild.yaml 예:
steps:
- name: gcr.io/cloud-builders/docker
args: ["build", "-t", "asia-northeast3-docker.pkg.dev/$PROJECT_ID/demo-docker/app:$SHORT_SHA", "."]
- name: gcr.io/cloud-builders/docker
args: ["push", "asia-northeast3-docker.pkg.dev/$PROJECT_ID/demo-docker/app:$SHORT_SHA"]
images:
- asia-northeast3-docker.pkg.dev/$PROJECT_ID/demo-docker/app:$SHORT_SHA
gcloud builds submit --config=cloudbuild.yaml .
GitHub 연결 시 트리거로 PR/main 푸시 빌드 가능.
권장 파이프라인
GitHub (git) → Cloud Build → Artifact Registry → GKE / Cloud Run
↓
(Terraform apply 인프라)
로컬 Git 워크플로는 Git 모듈 참고.
Terraform 연계
인프라(VPC, GKE, 버킷)는 Terraform, 앱 이미지는 Cloud Build로 나누면 역할이 명확합니다.
→ Terraform Day 4