SuperAPI AI 工具集

setup-firebase-hosting

编程与开发

查看项目

更新于 10-15 21:40

技能介绍

用途:把静态站点(SSG 输出、SPA、LP 等)发布到 Firebase Hosting,并实现 push 到默认分支后自动部署。默认使用 Spark 计划(不绑定结算账号),因此不会产生费用。

主要能力:提供 tools/bootstrap-firebase.sh 脚本,用于创建/确认 GCP 项目、启用 firebase 等 API、添加 Firebase、创建 Hosting 站点、创建 CI 专用服务账号并授予最小角色(roles/firebasehosting.admin、roles/serviceusage.apiKeysViewer)、轮换服务账号密钥并写入 GitHub Secret(FIREBASE_SERVICE_ACCOUNT)与变量(FIREBASE_PROJECT_ID、FIREBASE_SITE_ID)、生成 .firebaserc。脚本幂等,可重复执行。

使用方式:前置需 gcloud CLI、已认证的 gh CLI、Node.js(用 npx firebase-tools,且固定版本 FIREBASE_TOOLS_VERSION),目标仓库在 GitHub 上。先确认 Firebase 条款(只能在控制台接受)、选择 Spark/Blaze、确定站点 ID 与是否用自定义域名。然后复制脚本到 tools/bootstrap-firebase.sh,改写 PROJECT_ID、SITE_ID、GITHUB_REPO 占位符,执行 gcloud auth login 后运行 bash tools/bootstrap-firebase.sh。接着把基础 URL 做成构建时环境变量,编写 firebase.json,用 firebase emulators:start 本地验证,放置 .github/workflows/deploy.yml,最后通过 PR 与合并验证 CI 部署。

适用场景:完全静态、无服务器处理/API/DB 的站点,且一条构建命令即可产出 dist 等输出目录。

限制:sandbox 网络受限环境无法执行 bootstrap 脚本(需浏览器认证与网络调用);Firebase 条款未接受会导致 addFirebase 返回 403;Blaze 计划无强制费用上限;站点 ID 全局唯一;自定义域名需在注册商处操作 DNS。资料未提供具体价格以外的更多细节。