[GCP] Cloud Build

진성·2022년 8월 23일
0
post-thumbnail

Cloud Build

애플리케이션을 수정하고 다시 빌드하고 배포하는 작업은 시간 소비가 크며, 수작업으로 지속적으로 수행하기 번거로운 작업이다.
작은 단위의 테스트는 간단히 실행할 수 있지만 더 큰 시스템을 하나하나 수행하는 것은 쉽지 않은 일이다.
이러한 반복 작업들을 자동화하기 위해서 CI/CD라는 도구를 사용해서 파이프 라인을 만들고 자동화 작업을 수행한다.
이때 Google의 서버리스 CI/CD 플랫폼을 통해 빌드, 테스트, 배포 할 수 있다.

Cloud Build는 GCP의 인프라에서 빌드를 실행하는 서비스이다.
다양한 저장소 또는 클라우드 스토리지 공간에서 소스 코드를 가져오고, 사양에 맞게 빌드를 실행하고, 도커 컨테이너 또는 자바 아카이브와 같은 아티팩트를 생성할 수 있다.

Cloud Build의 장점

  • 자바, Go, Node.js 등의 모든 프로그래밍 언어를 사용하여 신속하게 소프트웨어를 빌드한다.
  • 빌드, 테스트, 배포를 위한 커스텀 워크플로를 정의하는 작업을 완벽하게 제어한다.
  • VM, 서버리스, 쿠버네티스 또는 파이어베이스 등 다양한 환경에서 배포한다.
  • CI/CD 파이프라인의 일부로 정밀 보안 스캔을 수행한다.
  • Maven, Gradle, Go, Bazel과 같은 도구를 통해 컨테이너 또는 컨테이너가 아닌 아티팩트로 소스를 패키징한다.

Cloud Build의 특징

  • 도커를 지원한다.
  • 매일 120분의 무료 빌드 및 최대 10회 동시 빌드를 지원한다.
  • 빌드 과정을 모니터링 할 수 있다.
  • 컨테이너 이미지의 패키지 취약점을 자동으로 파악한다.
  • 로컬 또는 클라우드에서 빌드가 가능하다.

Cloud Build의 작동 방식

Cloud Build 도커를 사용하여 빌드를 실행한다. 각 빌드 단계에서 Cloud Build는 docker run의 인스턴스로 도커 컨테이너를 실행한다.

수명주기에 대한 간략한 설명

  1. 애플리케이션 코드와 필요한 애셋을 준비한다.
  2. Cloud Build에 대한 지침이 포함된 yaml 또는 json 형식의 빌드 구성 파일을 만든다.
  3. Cloud Build를 제출한다.
  4. Cloud Build는 사용자가 제공한 빌드 구성을 기반으로 빌드를 실행한다.
  5. 해당하는 경우 빌드된 이미지가 Container Registry에 푸시된다.
    Container Regisry는 Google Cloud에서 안전한 비공개 도커 이미지 스토리지를 제공한다.

출처:[구글 클라우드 플랫폼] GCP : Cloud Build

profile
풀스택 진행중...

0개의 댓글