后端与数据库

firebase-app-hosting-basics

firebase/agent-skills

Deploys and manages full-stack web applications (Next.js, Angular) with Server-Side Rendering (SSR) using Firebase App Hosting. Use when deploying Next.js/Angular apps, configuring apphosting.yaml or firebase.json apphosting blocks, managing secrets, setting up GitHub CI/CD, or configuring Blaze billing requirements. Don't use for classic static web hosting, Auth, Firestore, Crashlytics, or Xcode.

  • 17.2万 次安装
  • 491 星标
  • 收录于

安装命令

npx skills add https://github.com/firebase/agent-skills --skill firebase-app-hosting-basics

要点

Deploy and manage full-stack web apps with Firebase App Hosting using Next.js, Angular, and other supported frameworks.

  • Requires Firebase project on Blaze pricing plan; supports Server-Side Rendering (SSR) and Incremental Static Regeneration (ISR) workflows
  • Deploy via firebase.json configuration with optional apphosting.yaml for backend setup, or enable automated "git push to deploy" through GitHub integration
  • Includes secret management via CLI commands for secure access to sensitive keys and local testing through Firebase Local Emulator Suite
  • Best suited for full-stack applications; use Firebase Hosting instead for static sites or simple SPAs without SSR

SKILL.md

App 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.

  1. Configure firebase.json with an apphosting block.

    {
      "apphosting": {
        "backendId": "my-app-id",
        "rootDir": "/",
        "ignore": [
          "node_modules",
          ".git",
          ".next",
          ".vercel",
          "firebase-debug.log",
          "firebase-debug.*.log",
          "functions"
        ]
      }
    }
    
  2. Create or edit apphosting.yaml- see Configuration for more information on how to do so.

  3. 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 /
    
  4. If the app needs safe access to sensitive keys, set and grant access after creating the backend:

    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
    
  5. Run npx -y firebase-tools@latest deploy when 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.