빌더는 실행 가능한 컨테이너를 만드는 데 필요한 모든 구성요소가 포함된 버전 관리 이미지입니다. 각 빌더는 Ubuntu 22와 같은 특정 OS 배포판을 기본 이미지로 사용하며, 여러 프로그래밍 언어 버전을 지원합니다.
필요한 경우 빌더 버전을 맞춤설정해야 할 수 있습니다.
- 특정 빌더 버전에서만 사용할 수 있는 OS별 종속 항목
- 특정 빌더 버전에서만 사용할 수 있는 특정 버전의 프로그래밍 언어
로컬 빌드
로컬 빌드의 경우 Pack CLI와 Docker가 설치되어 있어야 합니다.
시작하기 전에
- Docker Community Edition(CE)을 워크스테이션에 설치합니다. Docker는 pack에서 OCI 이미지 빌더로 사용됩니다.
- Pack CLI를 설치합니다.
- Git 소스 제어 도구를 설치하여 GitHub에서 샘플 애플리케이션을 가져옵니다.
pack을 사용하여 빌더 버전 지정
pack 명령어에 --builder 플래그를 추가하여 사용하려는 빌더 버전을 지정할 수 있습니다.
pack build SERVICE_IMAGE_NAME --builder=BUILDER_IMAGE_URL
다음과 같이 바꿉니다.
- BUILDER_IMAGE_URL을 빌더의 URL로 바꿉니다. 예를 들면- gcr.io/buildpacks/builder:google-24입니다.
- SERVICE_IMAGE_NAME을 애플리케이션 이미지에 선택한 이름으로 바꿉니다.
pack 명령어에 대한 자세한 내용은 CLI 문서를 참조하세요.
project.toml을 사용하여 빌더 버전 지정
pack으로 빌드할 때 빌드팩 프로젝트 설명자(project.toml)를 사용하여 빌더를 설정할 수 있습니다.
- 애플리케이션 루트 디렉터리에서 다음 구성으로 project.toml이라는 파일을 만듭니다.[build] builder = "BUILDER_IMAGE_URL" 
- 
    `pack` 명령어를 실행하여 애플리케이션을 빌드합니다.
    pack build SERVICE_IMAGE_NAME 
다음을 바꿉니다.
- BUILDER_IMAGE_URL: 빌더의 URL(예:- gcr.io/buildpacks/builder:google-24)
- SERVICE_IMAGE_NAME: 애플리케이션 이미지에 선택한 이름입니다.
원격 빌드
프로젝트를 제출할 때 --pack 플래그를 추가하여 Cloud Build에 특정 빌더를 사용할 수 있습니다.
시작하기 전에
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- 
    
    
      
        In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Cloud Build and Artifact Registry APIs. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
      Install the Google Cloud CLI. 
- 
          외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. 
- 
        gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다. gcloud init
- 
    
    
      
        In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Cloud Build and Artifact Registry APIs. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
      Install the Google Cloud CLI. 
- 
          외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. 
- 
        gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다. gcloud init
-  Google Cloud 프로젝트에 컨테이너 이미지 저장소에 대한 액세스 권한이 있는지 확인합니다.
  Artifact Registry의 Docker 저장소에 대한 액세스를 구성하려면 다음 단계를 따르세요. -  Google Cloud 프로젝트와 동일한 위치에 새 Docker 저장소를 만듭니다.
gcloud artifacts repositories create REPO_NAME \ --repository-format=docker \ --location=REGION --description="DESCRIPTION" - REPO_NAME을 Docker 저장소에 선택한 이름으로 바꿉니다.
- REGION을 Google Cloud 프로젝트의 위치나 가장 가까운 위치로 바꿉니다.
- DESCRIPTION을 원하는 설명으로 바꿉니다.
 예를 들어 'Docker 저장소' 설명과 함께 us-west2에docker저장소를 만들려면 다음 명령어를 실행합니다.gcloud artifacts repositories create buildpacks-docker-repo --repository-format=docker \ --location=us-west2 --description="Docker repository" 
- 저장소가 만들어졌는지 확인합니다.
gcloud artifacts repositories list 목록에 Docker 저장소에 대해 선택한 이름이 표시됩니다. 
 
-  Google Cloud 프로젝트와 동일한 위치에 새 Docker 저장소를 만듭니다.
- gcloud를 사용하여 애플리케이션 소스 코드를 Cloud Build에 제출합니다.- gcloud builds submit --pack builder=BUILDER_IMAGE_URL,image=LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/SERVICE_IMAGE_NAME - 다음과 같이 바꿉니다. - BUILDER_IMAGE_URL을 빌더의 URL로 바꿉니다. 예를 들면- gcr.io/buildpacks/builder:google-24입니다.
- LOCATION을 컨테이너 저장소의 리전 이름으로 바꿉니다. 예를 들면- us-west2-docker.pkg.dev입니다.
- PROJECT_ID를 Google Cloud 프로젝트 ID로 바꿉니다.
- REPO_NAME을 Docker 저장소의 이름으로 바꿉니다.
- SERVICE_IMAGE_NAME을 만든 컨테이너 이미지 이름으로 바꿉니다.
 - submit명령어에 대한 자세한 내용은 Cloud Build 문서를 참조하세요.
- 
      샘플 애플리케이션이 성공적으로 REPO_NAME에 게시되었는지 확인합니다.gcloud artifacts docker images list LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME 다음과 같이 바꿉니다. - LOCATION을 컨테이너 저장소의 리전 이름으로 바꿉니다. 예를 들면- us-west2-docker.pkg.dev입니다.
- PROJECT_ID를 Google Cloud 프로젝트 ID로 바꿉니다.
- REPO_NAME을 Docker 저장소의 이름으로 바꿉니다.
 
- 애플리케이션 디렉터리의 루트에서 project.toml파일을 초기화하고 다음 구성을 붙여넣습니다.[build] builder = "BUILDER_IMAGE_URL" 
- 
    소스에서 애플리케이션을 배포합니다.
    gcloud run deploy --source . SERVICE_IMAGE_NAME 
- BUILDER_IMAGE_URL을 빌더의 URL로 바꿉니다. 예를 들면- gcr.io/buildpacks/builder:google-24입니다.
- SERVICE_IMAGE_NAME을 만든 컨테이너 이미지 이름으로 바꿉니다.
특정 빌더를 사용하여 애플리케이션 빌드
Cloud Run을 사용하여 소스에서 배포
Cloud Run으로 소스에서 배포할 때 빌드팩 프로젝트 설명자 파일(예: project.toml 파일)을 사용하여 빌더를 설정할 수 있습니다.
다음과 같이 바꿉니다.