CI / CD

이재홍·2022년 5월 22일
0

CI / CD 란?
개발 단계부터 배포까지 자동화하는 것.
Continuous Intergration + Continuous Deployment(Delivery)
지속적 통합 + 지속적 배포

배포를 자동화하는데는 여러가지 방법이 있지만 여기서는 GCP의 Cloud Build를 이용하여 깃허브저장소에 푸시가 됐을때 명령어들을 자동실행하여 배포한다.

깃허브 계정을 인증 후 저장소를 설정해준다.

트리거만들기 ^master$ 브랜치에 푸시되었을때만 실행

cloudbuild.yaml 파일을 실행

설정에 쿠버네티스 엔진 사용설정 (쿠버네티스 명령어 사용가능)

cloudbuild.yaml

steps: # 단계
  - name: docker/compose:1.29.0 # docker-compose 다운로드 명령어 사용가능
    args: # 명령실행
      - -f
      - class/28-01-deploy-with-docker/backend/docker-compose.prod.yaml # 깃 저장소내에서 yaml파일경로 찾아 빌드하기
      - build # 띄어쓰기별로 한줄씩 또는 배열로 입력 ['-f', 'class...', 'build']
	
  - name: docker/compose:1.29.0 # 다음 실행 - 내 GCP 컨테이너레지스트리에 등록
    args:
      - -f
      - class/28-01-deploy-with-docker/backend/docker-compose.prod.yaml
      - push

  - name: gcr.io/cloud-builders/kubectl # kubectl 명령어 사용가능
    args:
      - set
      - image
      - deployment/mybackend
      - my-backend-sha256-1=asia.gcr.io/codecamp-341008/my_backend:1.9 # 버전은 올려준대로 맞춰줘야한다
    env: # 해당 쿠버네티스 클러스터 정보
      - CLOUDSDK_COMPUTE_ZONE=asia-northeast3
      - CLOUDSDK_CONTAINER_CLUSTER=mybackend-kubernetes-cluster

0개의 댓글