CI: Continuous Intergration 지속적 통합
CD: Continuous Deployment 지속적 배포
Kubernetes를 사용하면서 수정 사항 및 오류내용 발견 시 코드를 수정하게 되는데 이때마다 번거로운 배포 과정을 거쳤다.
코드 수정 > git commit > git push > docker-compose build > docker-compose push > Kubectl을 이용한 이미지 업데이트
CI / CD 기능을 이용하면 git commit, git push만으로 다음단계를 자동으로 진행하게 된다.
// cloudbuild.yaml
steps:
# 1단계 => docker-compose -f docker-compose.prod.yaml build
- name: docker/compose:1.29.0
args:
- -f
- class/deploy-with-docker/backend/docker-compose.prod.yaml
- build
# 2단계 => docker-compose -f docker-compose.prod.yaml push
- name: docker/compose:1.29.0
args:
- -f
- class/deploy-with-docker/backend/docker-compose.prod.yaml
- push
# 3단계 => kubectl set image
- name: gcr.io/cloud-builders/kubectl
args:
- set
- image
env:
- CLOUDSDK_COMPUTE_ZONE=asia-northeast3
- CLOUDSDK_CONTAINER_CLUSTER=autopilot-cluster-1