클라우드 빌더

클라우드 빌더는 공용 언어 및 도구가 설치된 컨테이너 이미지입니다. 이러한 빌더 컨텍스트 내에서 특정 명령어를 실행하도록 Cloud Build를 구성할 수 있습니다.

이 페이지에서는 Cloud Build에 사용할 수 있는 빌더 유형을 설명합니다.

공개적으로 사용 가능한 이미지

Cloud Build를 사용하면 공개적으로 사용 가능한 이미지를 사용하여 작업을 실행할 수 있습니다. 이미지를 사용하려면 구성 파일의 name 필드에 이미지 URL을 지정합니다. args 필드를 사용하여 이미지 내에서 실행하려는 명령어를 지정합니다. 빌드 단계의 args 필드는 인수 목록을 가져와서 name 필드로 참조되는 이미지에 전달합니다.

다음 코드 스니펫은 Docker Hub의 공개 ubuntu 이미지를 사용하고 이 이미지 내에서 명령어를 실행하는 방법을 보여줍니다.

steps:
- name: 'ubuntu'
  args: ['echo', 'hello world']

다음은 Google Cloud Console 런처에서 Cloud Build에 대해 Black Duck 오픈소스 스캐너의 이미지를 사용하는 또 다른 코드 스니펫 예시입니다.

steps:
- name: launcher.gcr.io/blackduck-public/blackducksoftware-containerbuilder-scanner
  ...

태스크에 대해 Docker Hub에서 공개적으로 사용 가능한 이미지를 사용하는 방법에 대한 추가 예시는 Node.js 애플리케이션 빌드Go 애플리케이션 빌드를 참조하세요.

Cloud Build에서 제공하는 지원되는 빌더 이미지

Cloud Build는 태스크 실행을 위해 구성 파일에서 참조할 수 있는 사전 빌드된 이미지를 제공하고 유지보수합니다. 이러한 사전 빌드된 이미지는 Container Registry의 다음 위치에서 찾을 수 있습니다.

gcr.io/cloud-builders/...

이러한 빌더의 소스 코드는 클라우드 빌더 GitHub 저장소에 제공됩니다.

사전 빌드된 지원되는 이미지를 사용하는 방법에 대한 예시는 컨테이너 이미지 빌드Cloud Run에 배포를 참조하세요.

다음 표는 지원되는 빌더 이미지의 몇 가지 예시를 나열합니다.

빌더 이름
bazel gcr.io/cloud-builders/bazel bazel 예시
docker gcr.io/cloud-builders/docker docker 예시
git gcr.io/cloud-builders/git git 예시
gcloud gcr.io/cloud-builders/gcloud gcloud 예시
gke-deploy gcr.io/cloud-builders/gke-deploy gke-deploy 예시
Cloud Build에 지원되는 빌더의 전체 목록

커뮤니티에서 기부한 빌더

Cloud Build 개발자 커뮤니티는 태스크를 실행하는 데 사용할 수 있는 오픈소스 빌더를 제공합니다. 사전 빌드된 이미지는 이러한 빌드에 사용할 수 없습니다. 이러한 빌드를 사용하려면 클라우드 빌더 커뮤니티 GitHub 저장소에서 다운로드한 후 이미지를 빌드하면 됩니다. 커뮤니티에서 기부한 빌더를 빌드하고 태스크에 이를 사용하는 방법에 대한 예시는 Packer를 사용하여 VM 이미지 빌드를 참조하세요.

다음 표에는 커뮤니티에서 기부한 빌더의 몇 가지 예가 나와 있습니다.

빌더 설명
docker-compose Docker 이미지에 대한 통합 테스트를 실행합니다.
remote-builder 구성 가능한 Compute Engine VM에서 빌드 단계를 실행합니다.
packer Packer를 사용하여 머신 이미지 생성을 자동화합니다.
helm Helm을 사용하여 Kubernetes 패키지를 관리합니다.
커뮤니티에서 기부한 Cloud Build용 빌더의 전체 목록

빌더를 기부하는 방법에 대한 자세한 내용은 클라우드 빌더 커뮤니티 GitHub 페이지를 참조하세요.

자체 커스텀 빌더 작성하기

빌드에서 사용할 자체 커스텀 빌더를 만들 수 있습니다. 커스텀 빌더는 Cloud Build가 가져와서 소스와 함께 실행하는 컨테이너 이미지입니다. 커스텀 빌더는 컨테이너 내에서 어떠한 스크립트 또는 바이너리도 실행할 수 있습니다. 따라서 컨테이너가 수행할 수 있는 모든 작업을 수행할 수 있습니다. 커스텀 빌더 만들기에 대한 자세한 내용은 커스텀 빌드 만들기 단계를 참조하세요.

다음 단계