Firebase App Hosting
Firebase App Hosting 可简化动态 Next.js 和 Angular 应用的开发和部署,提供内置框架支持、GitHub 集成以及与其他 Firebase 产品(例如 Authentication、Cloud Firestore 和 Vertex AI in Firebase)的集成。
主要功能
GitHub 集成 | 只需一个 Git 提交即可发布应用的新版本。App Hosting 可在您每次推送到特定分支时自动部署。 |
由 Google Cloud 提供支持 | App Hosting 使用 Google Cloud 服务条款,并将您的应用部署到您信任的 Google Cloud 产品。应用由 Cloud Build 构建,在 Cloud Run 上提供并在 Cloud CDN 中缓存。 Cloud Secret Manager 等集成服务可确保 API 密钥安全无虞。 |
大规模推出 AI 赋能的功能 | 从使用 Gemini 的 AI 示例入手。 使用 Cloud Secret Manager 保护 API 端点的 API 密钥,并利用 App Hosting 的流式传输支持,在向应用中添加生成式 AI 功能时保持较快的初始加载速度。 |
Firebase 控制台集成 | 在 Firebase 控制台中监控您的 build 和发布版本,以便随时了解最新动态。从 Firebase 控制台中访问日志和指标、添加自定义网域,以及手动触发发布。 |
工作原理
- 使用 Firebase 控制台或 Firebase CLI 在您的代码库中授权并安装 Firebase GitHub 应用。
- 仍在 Firebase 控制台或 Firebase CLI 中,创建一个 Firebase App Hosting 后端,并附带用于持续部署的代码库和正式分支。App Hosting 会为您的后端创建默认发布政策,以便在有更改推送到目标分支时立即向 100% 的流量发布。
- 当提交内容推送到您的正式分支时,Google Cloud Developer Connect 会向 Firebase App Hosting 发送事件。
- 为了响应此事件,Firebase App Hosting 会为您的最新提交内容启动新的发布。
- Firebase App Hosting 会为您的提交创建新的 Cloud Build 作业。 在此作业中,开源 Buildpack 会确定应用中使用的框架,以创建适合应用的容器和配置(包括环境变量、密钥、实例数下限或上限、并发内存、CPU)。
- Cloud Build 作业完成后,您的容器会存储在专用于 Firebase App Hosting 的 Artifact Registry 代码库中。然后,Firebase App Hosting 会使用您的映像和配置将新的 Cloud Run 修订版本添加到 Cloud Run 服务。验证 Cloud Run 修订版是否正常运行后,Firebase App Hosting 会修改其流量配置,将所有新请求指向新的 Cloud Run 修订版。至此,该功能的发布已完成。
- 当请求发送到 Firebase App Hosting 上托管的网站时,启用了 Cloud CDN 的 Google Cloud 负载平衡器会处理该请求。未缓存的请求会发送到源服务器,后者会将请求发送到您的 Cloud Run 服务。
实现流程
设置 Firebase | 如果您还没有 Firebase 项目,请创建一个 Firebase 项目,并确保其已启用 Blaze 定价方案。 | |
设置 App Hosting | 使用 Firebase 控制台或 Firebase CLI 创建 App Hosting 后端。这是您的应用的一系列受管理资源,包括与应用的 GitHub 代码库的连接。 | |
管理和监控应用 | 创建完 App Hosting 后端后,您的应用将在其免费子网域上提供,您可以在 Firebase 控制台中查看有关发布的详细信息。您可以使用 Google Cloud 控制台查看和搜索日志。 | |
开发应用 | 每次有提交内容推送到您的正式版分支时,App Hosting 都会自动启动新的发布。 |