Google Cloud 빌드팩은 애플리케이션 소스 코드를 가져와 프로덕션에 즉시 사용 가능한 컨테이너 이미지로 변환하는 오픈소스 프로젝트입니다. Google Cloud에서 게시하는 빌드팩은 Cloud Native Buildpack 사양을 구현하며 Google Cloud에 배포할 수 있는 컨테이너를 빌드하고 구성하는 데 도움이 되도록 설계되었습니다.
빌드팩은 일반적으로 언어 구성요소, 도구 모음 또는 Python, pip
또는 웹 서버와 같은 앱 구성요소를 담당합니다.
빌드팩은 빌더라는 컬렉션으로 그룹화되어, 프로젝트 소스 코드를 분석하고, 빌드 계획을 만들고, 배포할 준비가 된 컨테이너 이미지를 생성할 수 있습니다.
빌드팩으로 컨테이너화
Google Cloud 서버리스 제품에서 애플리케이션(서비스) 또는 함수를 배포하고 제공할 때 빌드팩을 사용하여 코드를 실행 가능한 컨테이너로 패키징합니다. Cloud Run에서는 사전 빌드된 컨테이너를 배포하거나 소스 코드를 배포하여 Cloud Run에서 컨테이너 빌드를 관리하도록 할 수 있습니다. Cloud Run 함수 및 App Engine에서는 컨테이너화 프로세스가 완전히 관리됩니다. 즉, 소스 코드를 배포하면 모든 컨테이너 이미지 패키징 및 변환이 자동으로 실행됩니다.
각 컨테이너 이미지는 소스 코드, 시스템 및 라이브러리 종속 항목, 구성 데이터, 정적 애셋을 비롯하여 배포를 실행하는 데 필요한 모든 구성요소로 빌드됩니다. 기본적으로 Google Cloud 서버리스 제품은 배포 파이프라인을 위한 Cloud Build와 컨테이너 이미지 스토리지 및 관리를 위한 Container Registry 또는 Artifact Registry를 포함한 동일한 기본 서비스를 사용합니다.
Google Cloud 빌드팩을 사용할 때
- 빌더 및 빌드팩은 빌드 프로세스를 처리하고 실행 가능한 컨테이너 이미지를 만들도록 사전 구성됩니다.
- 빌드팩은 여러 프로그래밍 언어를 지원하고 소스 코드에 사용된 언어를 자동으로 감지합니다.
- 빌드팩을 맞춤설정하고 확장하여 추가 시스템 종속 항목을 설치할 수 있습니다. 그러나 기본 빌더는 언어의 패키지 저장소에서 종속 항목을 설치하고 언어의 공통 종속 항목 파일을 사용하는 등 프로그래밍 언어에 필요한 일반적인 태스크를 처리할 수 있습니다.
빌드팩을 사용하여 코드 컨테이너화
빌드팩을 로컬 또는 원격으로 사용하여 다음을 수행할 수 있습니다.
애플리케이션을 시작하는 표준 방법을 제외하는 프로그래밍 언어의 경우 Procfile
을 사용하여 컨테이너가 시작될 때 호출할 프로세스를 정의할 수 있습니다.
Procfile
은 모든 빌드팩 유형의 기본 시작 프로세스를 재정의하는 데 사용할 수 있지만 Python을 비롯한 일부 시스템에서는 필수입니다.
다음 단계
- 빌더
- 애플리케이션 빌드
- 함수 빌드
- 클라우드 기반 빌드팩 알아보기