Hosting과 무엇이 다른가요?
정적 파일만 제공하면 Firebase Hosting으로 시작할 수 있습니다. 요청 시 HTML을 만들거나 서버 API를 실행하는 Next.js 앱에는 서버 실행 환경도 필요합니다. Firebase App Hosting은 지원 프레임워크의 빌드와 서버 실행을 관리하는 배포 경로입니다. 현재 지원 버전과 앱 구조를 확인한 뒤 선택하세요. App Hosting 시작하기 ↗
준비 목록
- 정상 빌드되는 GitHub 저장소와 배포할 브랜치.
- 앱 루트 폴더, 사용하는 프레임워크·런타임과 잠금 파일.
- 개발·운영 환경변수의 이름과 비밀 여부를 정리한 목록.
- Firebase 프로젝트, 결제 계정과 필요한 작업 권한.
App Hosting은 Blaze 요금제 연결이 필요합니다. 트래픽이 없을 때도 빌드·이미지 보관 등 관련 자원 비용을 함께 살펴보고 예산 알림을 정하세요. 결제 알림을 자동 비용 차단 장치로 가정하지 않습니다.
단계별 배포
- 로컬에서 의존성을 설치하고 프로젝트의 빌드 명령을 실행합니다.
- Firebase Console의 App Hosting에서 백엔드를 생성합니다.
- GitHub 접근을 연결하고 저장소·배포 브랜치·앱 루트 폴더를 지정합니다. 모노레포라면 루트가 맞는지 확인합니다.
- 리전 등 백엔드 설정과 요금제를 확인합니다.
- 필요한 환경변수와 비밀을 등록한 다음 첫 롤아웃을 시작합니다.
- 빌드 로그와 실행 로그를 나눠 확인하고 발급 주소에서 핵심 기능을 테스트합니다.
저장소에 변경을 반영하면 연결한 배포 브랜치에서 후속 롤아웃이 이루어질 수 있습니다. 브랜치별 검증과 운영 반영 규칙을 먼저 정하세요. 시작 절차 ↗
환경변수와 비밀 관리
브라우저에 노출될 공개 설정, 빌드에서만 쓰는 값, 서버 실행에만 필요한 비밀을 구분합니다. Next.js의 NEXT_PUBLIC_ 접두어는 비밀을 숨기는 방법이 아닙니다. 브라우저 번들에 필요한 공개 값으로만 사용하세요.
App Hosting 설정은 콘솔과 apphosting.yaml에서 관리할 수 있으며 비밀은 Secret Manager 참조를 사용합니다. 같은 키를 양쪽에 정의하면 콘솔 값이 우선하므로 변경 위치를 문서화합니다. 백엔드 설정 ↗
아래 파일은 형식 예시입니다. 실제 비밀 값을 YAML에 넣지 말고 프로젝트의 비밀 등록·접근 권한을 먼저 설정합니다.
env:
- variable: APP_MODE
value: production
availability:
- BUILD
- RUNTIME
- variable: API_SECRET
secret: apiSecret배포 후 확인
처음에는 발급된 주소로 로그인·서버 API·이미지 업로드를 확인한 뒤 사용자 도메인을 연결합니다. 인증 제공자의 허용 주소와 콜백도 새 도메인에 맞춰야 합니다. Firebase 데이터베이스 규칙·인덱스는 앱 롤아웃과 별도로 관리되는 배포 항목입니다.
| 실패 지점 | 확인할 내용 |
|---|---|
| 빌드 실패 | 루트 폴더, 잠금 파일, 지원 런타임, 빌드 환경변수 |
| 실행 후에만 500 | 실행 시 비밀 접근 권한, DB 연결, 서버 로그 |
| 로그인 콜백 실패 | 실제 도메인·리디렉션 URI·서버 Origin 설정 |
| DB 조회만 실패 | 쿼리 인덱스, 인증·권한, 운영 프로젝트 일치 여부 |
완료 확인
공식 참고자료
확인 기준일: 2026-10-22.