커뮤니티 제공 빌더 및 커스텀 빌더 사용

이 페이지에서는 Cloud Build에서 커뮤니티 기부 빌더 및 커스텀 빌더를 사용하는 방법을 설명합니다. Cloud Build 개발자 커뮤니티는 태스크를 실행하는 데 사용할 수 있는 오픈소스 빌더를 제공합니다. 수행하려는 작업에 기존 이미지로 제공되지 않는 기능이 필요하면 고유 커스텀 이미지를 빌드하고 이를 빌드 단계에 사용할 수 있습니다. 다른 유형의 빌더에 대해 자세히 알아보려면 클라우드 빌더를 참조하세요.

Cloud Build를 처음 사용하는 경우 빠른 시작빌드 구성 개요를 먼저 읽어보세요.

커뮤니티 기부 빌더 사용

사전 빌드된 이미지는 커뮤니티 기부 빌더로 제공되지 않습니다. 이러한 빌더를 Cloud Build 구성 파일에 사용하려면 먼저 이미지를 빌드하고 프로젝트에서 Container Registry에 푸시해야 합니다.

커뮤니티 기부 빌더를 사용하려면 다음 안내를 따르세요.

  1. 빌드하고 빌더를 푸시합니다.

    1. 프로젝트 루트 디렉터리로 이동합니다.

    2. cloud-builders-community 저장소를 클론합니다.

      git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
      
    3. 사용할 빌더 이미지로 이동합니다. 여기서 builder-name은 빌더가 포함된 디렉터리입니다.

      cd cloud-builders-community/builder-name
      
    4. 프로젝트에 빌더를 제출합니다.

      gcloud builds submit .
      
    5. 프로젝트 루트 디렉터리로 이동합니다.

      cd ../..
      
    6. 루트 디렉터리에서 저장소를 삭제합니다.

      rm -rf cloud-builders-community/
      
  2. Cloud Build 구성 파일에서 빌드 단계에 빌더를 사용합니다.

    YAML

    steps:
    - name: 'gcr.io/project-id/builder-name'
      args: ['arg1', 'arg2', ...]
    ...
    

    JSON

    {
      "steps": [
      {
        "name": "gcr.io/project-id/builder-name",
        "args": [
          "arg1",
          "arg2",
          ...
        ]
        ...
      }
      ]
    }
    
  3. 빌드 구성 파일을 사용하여 수동 빌드 또는 트리거 사용 빌드를 시작합니다.

커뮤니티 기부 빌더 사용에 대한 예시는 Firebase에 배포Packer를 사용하여 VM 이미지 빌드를 참조하세요.

커스텀 빌더 만들기

수행하려는 작업에 공개 이미지, 지원되는 빌더, 커뮤니티 참여 빌더로 제공되지 않는 기능이 필요한 경우 고유 이미지를 빌드하고 이를 빌드 단계에 사용할 수 있습니다.

커스텀 빌더 이미지를 사용해야 하는 경우에 대한 예시는 다음과 같습니다.

  • 외부 위치에서 소스 코드 또는 패키지 다운로드
  • 외부 도구 체인 사용
  • 필요한 라이브러리 캐싱
  • 소스 사전 빌드(이미지에 빌드를 잠재적으로 패키징하는 역할만 담당하는 Cloud Build 사용)

다른 빌더와 마찬가지로 커스텀 빌더는 /workspace 아래에 마운트된 소스를 사용하여 실행되며, /workspace의 작업 디렉터리를 사용하여 실행됩니다. 지정된 빌드 단계로 /workspace에 남겨진 모든 파일은 다른 빌드 단계에서 사용할 수 있습니다.

커스텀 빌더는 빌드 서비스 계정이 액세스할 수 있는 Container Registry(gcr.io/$PROJECT-NAME/에서 호스팅됨)에서 push 또는 pull을 수행할 수 있습니다.

다음 단계에서는 Dockerfile 예시를 사용해서 커스텀 빌드를 만들고 사용하는 방법을 보여줍니다.

  1. 커스텀 빌더 이미지를 만듭니다.

    1. 커스텀 빌더에 대해 Dockerfile을 만듭니다. 다음 코드는 Dockerfile 예시를 보여줍니다.

        FROM alpine
        RUN apk add curl
        CMD curl https://httpbin.org/ip -s > myip.txt; echo "*** My IP is: $(cat myip.txt)"
      
    2. 프로젝트에서 Container Registry에 커스텀 빌더를 빌드하고 push합니다. 여기서 project-idimage-name은 적절한 값으로 바꿉니다.

        gcloud builds submit --tag gcr.io/project-id/image-name
      
  2. 빌드 단계의 name 필드에 빌더를 지정하여 Cloud Build에서 커스텀 빌더 이미지를 사용합니다.

    YAML

        steps:
        - name: 'gcr.io/project-id/image-name'
          id: Determine IP of this build worker
    

    JSON

        {
          "steps": [
          {
            "name": "gcr.io/project-id/image-name",
            "id": "Determine IP of this build worker"
          }
          ]
        }
    
  3. 빌드 구성 파일을 사용하여 수동 빌드 또는 트리거 사용 빌드를 시작합니다.

다음 단계