티스토리 뷰

Cloud Build

출처 : https://medium.com/faun/most-popular-ci-cd-pipelines-and-tools-ccfdce429867

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

 

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

 


 

Cloud Build의 장점

 

  • 자바, Go, Node.js 등의 모든 프로그래밍 언어를 사용하여 신속하게 소프트웨어를 빌드합니다.

  • 빌드, 테스트, 배포를 위한 커스텀 워크플로를 정의하는 작업을 완벽하게 제어합니다.

  • VM, 서버리스, Kubernetes 또는 Firebase 등 다양한 환경에서 배포합니다.

  • CI/CD 파이프라인의 일부로 정밀 보안 스캔을 수행합니다.

  • Maven, Gradle, Go, Bazel과 같은 도구를 통해 컨테이너 또는 컨테이너가 아닌 아티팩트로 소스를 패키징 합니다.

 

 

Cloud Build의 특징

 

  • Docker를 지원합니다.

  • 매일 120분의 무료 빌드 및 최대 10회 동시 빌드를 지원합니다.

  • 빌드 과정을 모니터링할 수 있습니다.

  • 컨테이너 이미지의 패키지 취약점을 자동으로 파악합니다.

  • 로컬 또는 클라우드에서 빌드가 가능합니다.

 

Cloud Build의 작동 방식

Cloud Build는 Docker를 사용하여 빌드를 실행합니다. 각 빌드 단계에서 Cloud Build는 docker run의 인스턴스로 Docker 컨테이너를 실행합니다. 현재 Cloud Build는 Docker엔진 버전 19.03.8을 실행합니다.

 

수명 주기에 대해 대략적으로 설명합니다.

 

  • 1. 애플리케이션 코드와 필요한 애셋을 준비합니다.

  • 2. Cloud Build에 대한 지침이 포함된 yaml 또는 json 형식의 빌드 구성 파일을 만듭니다.

  • 3. Cloud Build를 제출합니다.

  • 4. Cloud Build는 사용자가 제공한 빌드 구성을 기반으로 빌드를 실행합니다.

  • 5. 해당하는 경우 빌드된 이미지가 Container Registry에 푸시됩니다. Container Registry는 Google Cloud에서 안전한 비공개 Docker 이미지 스토리지를 제공합니다.

 

 

Cloud Build를 이용한 웹사이트 구축은 아래를 참고하세요~ 실습을 통해 더 정확한 작동방식을 파악하실 수 있습니다.

 

[GCP-Qwiklabs]구글 클라우드에 웹사이트 빌드하기(Using Google Cloud Build)

Qwiklabs Advanced에서는 Basic보다는 여러 개념들을 조합하여 실습을 진행하겠습니다. 제가 직접 아래의 실습을 진행하다 보니 역시 문서를 읽기보다는 손으로 직접 해보는 게 기억에 많이 남아요. ��

puzzle-puzzle.tistory.com

 

 

반응형