Firebase App Hosting
Firebase App Hosting 简化了动态 Next.js 和 Angular 应用的开发和部署,提供内置框架支持、GitHub 集成,以及与 Authentication、Cloud Firestore 和 Vertex AI in Firebase 等其他 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 会为后端创建默认发布政策,以便在有更改推送到目标分支时立即将其发布至所有流量。
- 当提交内容推送到您的正式分支后,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 项目,请创建一个,并确保该项目已启用 Blaze 定价方案。 | |
设置 App Hosting | 使用 Firebase 控制台或 Firebase CLI,创建 App Hosting 后端。这是应用的托管资源的集合,包括与应用的 GitHub 代码库的连接。 | |
管理和监控应用 | 创建完 App Hosting 后端后,您的应用将在其免费子网域上提供,您可以在 Firebase 控制台中查看有关发布的详细信息。您可以使用 Google Cloud 控制台查看和搜索日志。 | |
开发应用 | 每次有提交内容推送到您的正式版分支时,App Hosting 都会自动启动新的发布。 |