Cloud Build 개요

Cloud Build는 Google Cloud Platform의 인프라에서 빌드를 실행하는 서비스입니다.

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

빌드 구성 및 빌드 단계

수행할 작업에 대한 지침을 Cloud Build에 제공하는 빌드 구성을 작성할 수 있습니다. 종속 항목을 가져오고, 단위 테스트, 정적 분석, 통합 테스트를 실행하고, docker, gradle, maven, bazel, gulp와 같은 빌드 도구로 아티팩트를 만들도록 빌드를 구성할 수 있습니다.

Cloud Build는 빌드를 일련의 빌드 단계로 실행합니다. 각 빌드 단계는 Docker 컨테이너에서 실행됩니다. 빌드 단계를 실행하는 것은 스크립트에서 명령을 실행하는 것과 유사합니다.

Cloud Build에서 제공하는 빌드 단계와 Cloud Build 커뮤니티를 사용하거나 커스텀 빌드 단계를 직접 작성할 수 있습니다.

각 빌드 단계는 cloudbuild라는 로컬 Docker 네트워크에 연결된 컨테이너를 사용하여 실행됩니다. 따라서 빌드 단계가 서로 통신하고 데이터를 공유할 수 있습니다.

Cloud Build에서 UbuntuGradle 같은 표준 Docker Hub 이미지를 사용할 수 있습니다.

빌드 시작하기

Cloud Build에서 gcloud 명령줄 도구 또는 Cloud Build API를 사용하거나 Cloud Build의 빌드 트리거 기능을 이용해 빌드를 수동으로 시작하여, 코드가 변경되면 새 빌드를 시작하는 자동화된 통합/지속적 배포(CI/CD) 워크플로를 만들 수 있습니다.

Cloud Source Repositories, GitHub, Bitbucket을 비롯한 여러 코드 저장소와 빌드 트리거를 통합할 수 있습니다.

빌드 결과 보기

빌드 결과는 gcloud 도구인 Cloud Build API를 사용하거나, Cloud Build가 실행하는 모든 빌드의 세부정보와 로그를 표시하는, Cloud Console의 Cloud Build 섹션에 있는 빌드 기록 페이지를 사용하여 볼 수 있습니다. 자세한 내용은 빌드 결과 보기를 참조하세요.

빌드의 작동 방식

다음 단계에서는 Cloud Build 빌드의 수명 주기를 대략적으로 설명합니다.

  1. 애플리케이션 코드와 필요한 애셋을 준비합니다.
  2. Cloud Build에 대한 지침이 포함된 YAML 또는 JSON 형식의 빌드 구성 파일을 만듭니다.
  3. Cloud Build에 빌드를 제출합니다.
  4. Cloud Build는 사용자가 제공한 빌드 구성을 기반으로 빌드를 실행합니다.
  5. 해당하는 경우 빌드된 아티팩트가 Artifact Registry로 푸시됩니다.

Docker

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

Cloud Build 인터페이스

Google Cloud Console, gcloud 명령줄 도구 또는 Cloud Build의 REST API로 Cloud Build를 사용할 수 있습니다.

Cloud Console에서는 빌드 기록 페이지에서 Cloud Build 빌드 결과를 보고, 빌드 트리거에서 빌드를 자동화할 수 있습니다.

gcloud 도구를 사용하여 빌드를 만들고 관리할 수 있습니다. 명령어를 실행하여 빌드 제출, 빌드 나열, 빌드 취소 같은 작업을 수행할 수 있습니다.

Cloud Build REST API를 사용하여 빌드를 요청할 수 있습니다.

다른 Cloud Platform API와 마찬가지로 OAuth2를 사용하여 액세스 권한을 부여해야 합니다. 액세스 권한을 부여한 후에는 API를 사용하여 새 빌드를 시작하고, 빌드 상태 및 세부 정보를 볼 수 있으며, 프로젝트당 빌드 목록을 나열하고, 현재 진행 중인 빌드를 취소할 수 있습니다.

자세한 내용은 API 문서를 참조하세요.

로컬에서 빌드 실행

Cloud Build에 제출하기 전에 빌드를 테스트하려면 cloud-build-local 도구를 사용하여 빌드를 로컬에서 실행하면 됩니다. 이 도구를 사용하는 방법에 대한 자세한 내용은 로컬로 빌드 및 디버깅 페이지를 참조하세요.

다음 단계