빌더는 실행 가능한 컨테이너를 만드는 데 필요한 모든 구성요소가 포함된 버전 관리 이미지입니다. 각 빌더는 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-22
입니다.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-22
)로 바꿉니다.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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build and Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
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-22
입니다.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 저장소의 이름으로 바꿉니다.
Cloud Run을 사용하여 소스에서 배포
Cloud Run으로 소스에서 배포할 때 빌드팩 프로젝트 설명자 파일(예: project.toml
)을 사용하여 빌더를 설정할 수 있습니다.
- 애플리케이션 디렉터리의 루트에서
project.toml
파일을 초기화하고 다음 구성을 붙여넣습니다.[build] builder = "BUILDER_IMAGE_URL"
-
소스에서 애플리케이션을 배포합니다.
gcloud run deploy --source . SERVICE_IMAGE_NAME
다음과 같이 바꿉니다.
BUILDER_IMAGE_URL
을 빌더의 URL로 바꿉니다. 예를 들면gcr.io/buildpacks/builder:google-22
입니다.SERVICE_IMAGE_NAME
을 만든 컨테이너 이미지 이름으로 바꿉니다.