통합, 배포 자동화 도구 라고 생각하면 된다.cloudbuild.yaml - 해당 파일 내에는 build, push, 이미지 변경 부분이 들어가 있어야 한다.
CloudBuild에서 Github와 연결
1-1. CloudBuild 설정에서 Kubernetes Engine 활성화
1-2. 트리거 탭에서 원격저장소 연결 설정
1-3. 원격저장소 인증
1-4. 연결할 저장소 설정
1-5. 트리거 만들기(이벤트 설정)
cloudBuild.yaml 파일 생성 후 명령어 insert
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 deployment/컨테이너명 컨테이너명=이미지이름 및 버전
- name: gcr.io/cloud-builders/kubectl
args:
- set
- image
- deployment/컨테이너명
- 컨테이너명=이미지이름 및 버전
env:
- CLOUDSDK_COMPUTE_ZONE=resion명
- CLOUDSDK_CONTAINER_CLUSTER=클러스터명
소스 코드 수정하고 git push시, 자동으로 CI/CD 동작