firebase-app-hosting-basics
Firebase App Hosting을 사용하여 Next.js, Angular 및 기타 지원되는 프레임워크로 풀스택 웹 앱을 배포하고 관리합니다. Firebase 프로젝트가 Blaze 요금제에 있어야 하며, 서버사이드 렌더링(SSR) 및 증분 정적 재생성(ISR) 워크플로를 지원합니다. 백엔드 설정을 위한 선택적 apphosting.yaml과 함께 firebase.json 구성을 통해 배포하거나, GitHub 통합을 통한 자동화된 "git push to deploy"를 활성화할 수 있습니다. 민감한 키에 대한 안전한 접근을 위해 CLI 명령을 통한 비밀 관리 기능을 포함합니다...
npx skills add https://github.com/firebase/agent-skills --skill firebase-app-hosting-basicsApp Hosting Basics
Description
This skill enables the agent to deploy and manage modern, full-stack web applications (Next.js, Angular, etc.) using Firebase App Hosting.
Important: In order to use App Hosting, your Firebase project must be on the Blaze pricing plan. Direct the user to https://console.firebase.google.com/project/_/overview?purchaseBillingPlan=metered to upgrade their plan.
Hosting vs App Hosting
Choose Firebase Hosting if:
- You are deploying a static site (HTML/CSS/JS).
- You are deploying a simple SPA (React, Vue, etc. without SSR).
- You want full control over the build and deploy process via CLI.
Choose Firebase App Hosting if:
- You are using a supported full-stack framework like Next.js or Angular.
- You need Server-Side Rendering (SSR) or ISR.
- You want an automated "git push to deploy" workflow with zero configuration.
Deploying to App Hosting
Deploy from Source
This is the recommended flow for most users.
-
Configure
firebase.jsonwith anapphostingblock.{ "apphosting": { "backendId": "my-app-id", "rootDir": "/", "ignore": [ "node_modules", ".git", ".next", ".vercel", "firebase-debug.log", "firebase-debug.*.log", "functions" ] } } -
Create or edit
apphosting.yaml- see Configuration for more information on how to do so. -
Create the backend if it does not exist (
apphosting:backends:list; switch--primary-region, e.g.us-east4, if a region hits its 10-backend quota):npx -y firebase-tools@latest apphosting:backends:create --backend my-app-id --primary-region us-central1 --root-dir / -
For sensitive keys/secrets (e.g., from
.env*), set and grant access after creating the backend and reference viasecret:(nevervalue:):printf '%s' '<value>' | npx -y firebase-tools@latest apphosting:secrets:set <secret-name> --data-file - --force npx -y firebase-tools@latest apphosting:secrets:grantaccess <secret-name> --backend my-app-id -
Run
npx -y firebase-tools@latest deploywhen you are ready to deploy.
Automated deployment via GitHub (CI/CD)
Alternatively, set up a backend connected to a GitHub repository for automated
"git push" deployments. For GitHub-connected backends, trigger rollouts with
npx -y firebase-tools@latest apphosting:rollouts:create <backend-id> --git-branch <branch>
(do not use rollouts:create when deploying from local source with deploy).
For other backend or secret flags (backends:get, backends:delete, etc.), run
npx -y firebase-tools@latest <command> --help.
Emulation
See Emulation for more information on how to test your app locally using the Firebase Local Emulator Suite.