Firebase App Hosting은 Cloud Build을 활용하여 애플리케이션 소스 코드를 Cloud Run에 배포하기에 적합한 컨테이너화된 형식으로 변환합니다.
빌드 프로세스는 다음 주요 단계를 통해 작동합니다.
ubuntu: 작업공간 초기화
preparer: 애플리케이션 소스 코드 및 구성을 수집합니다.
pre-buildpack: 빌드팩 환경을 준비합니다.
build: 종속 항목을 설치하고 애플리케이션을 빌드합니다.
publisher: 프로덕션 Cloud Run 컨테이너를 마무리합니다.
이러한 5단계는 Cloud Build의 Google Cloud 콘솔에 표시된 빌드 단계에 직접 해당합니다.

작업공간 초기화
이 단계는 ubuntu 빌드 단계에 해당합니다. 빌드 작업공간을 초기화하여 후속 빌드 단계에서 사용하는 디렉터리에 올바른 파일 권한이 설정되도록 합니다.
준비자
이 단계는 빌드 전 로직을 처리합니다. 사용자 정의 환경 변수를 읽고, 삭제하고, 씁니다. apphosting.yaml 파일에 지정된 비밀번호를 역참조하고 고정합니다.
빌드 전 빌드팩
이 단계에서는 Cloud Native Buildpacks 수명 주기를 위한 환경을 준비합니다. 여기에는 이전 단계에서 준비한 구성 및 환경 변수를 CNB 도구에서 예상하는 형식으로 변환하는 쉼을 실행하는 작업이 포함됩니다.
빌드
실행 가능한 컨테이너 이미지와 빌드 구성을 정의하는 bundle.yaml 파일을 생성하는 빌드 프로세스의 핵심입니다.
Cloud Native Buildpacks
및 수명 주기 생성기
바이너리를 활용하여
애플리케이션을 효율적으로 패키징합니다. bundle.yaml 파일에 대한 자세한 내용은 GitHub에서 확인할 수 있습니다.
빌드팩은 애플리케이션 소스 코드를 프로덕션 준비 컨테이너 이미지로 변환합니다. Firebase App Hosting은 여러 빌드팩을 연결하여 빌드 프로세스를 완료합니다.
- 런타임 빌드팩: 기본 Node.js 애플리케이션을 실행하는 데 필요한 모든 구성요소가 포함되고 종속 항목이 설치되도록 합니다.
- 모노레포 빌드팩: 다양한 모노레포 시나리오를 처리하도록 후속 빌드팩을 구성합니다.
프레임워크 빌드팩: 올바른 프레임워크 어댑터 (예: Angular 또는 Next.js)를 설치하고 후속 빌드팩을 준비합니다.
프레임워크 어댑터는 프로덕션 빌드 명령어를 실행하고 관련 프레임워크별 구성 값을 App Hosting에서 읽을 수 있는 표준 형식에 매핑하는 작업을 담당합니다.
패키지 관리자 빌드팩: 종속 항목 설치를 실행하고 npm, yarn 또는 pnpm을 사용하여 앱을 빌드합니다.
출력 번들 빌드팩: 실행 명령어를 정의하고 실행을 위한 출력 번들을 준비합니다.
게시자
이 최종 단계에서는 애플리케이션 소스 코드에서 추출된 모든 정보와 빌드 컨테이너 이미지를 패키징하여 App Hosting 백엔드로 전송합니다. 그러면 App Hosting 백엔드에서 이 정보를 사용하여 적절한 구성으로 Cloud Run을(를) 설정합니다.
자세히 알아보기
전체 App Hosting 빌드 프로세스는 오픈소스입니다.
- 빌드팩 코드는 Google Cloud 빌드팩 저장소에 있습니다.
- 프레임워크 어댑터 코드는 firebase-framework-tools 저장소에 있습니다.
- Cloud Native Buildpacks 및 Cloud Build에 대해 자세히 알아보기