Firebase App Hosting
Firebase App Hosting 可简化动态 Next.js 和 Angular 应用的开发和部署,提供内置的框架支持、GitHub 集成以及与其他 Firebase 产品(如 Authentication、Cloud Firestore 和 Vertex AI for 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 控制台中监控您的构建和发布情况,随时了解最新动态。通过 Firebase 控制台访问日志和指标、添加自定义网域,以及手动触发发布。 |
工作原理
- 使用 Firebase 控制台或 Firebase CLI,授权 Firebase GitHub 应用并将其安装到您的代码库中。
- 仍然在 Firebase 控制台或 Firebase CLI 中,创建一个包含用于持续部署的代码库和实时分支的 Firebase App Hosting 后端。 App Hosting 会为您的后端创建默认发布政策,以便在有更改推送到目标分支时立即发布至 100% 的流量。
- 当提交被推送到您的实时分支时,Google Cloud Developer Connect 会向 Firebase 应用托管发送一个事件。
- 响应此事件,Firebase App Hosting 会为您的最新提交启动新的发布。
- Firebase App Hosting 会为您提交创建一个新的 Cloud Build 作业。在此作业中,开源 Buildpack 会确定应用中使用哪个框架来创建适合您的应用的容器和配置(包括环境变量、Secret、最小或最大实例数、并发内存、CPU)。
- Cloud Build 作业完成后,您的容器将存储在专用于 Firebase App Hosting 的 Artifact Registry 代码库中。然后,Firebase App Hosting 会使用您的映像和配置向 Cloud Run 服务添加新的 Cloud Run 修订版本。验证您的 Cloud Run 修订版本运行状况良好后,Firebase App Hosting 会修改其流量配置,以将所有新请求指向新的 Cloud Run 修订版本。此时,发布已完成。
- 当请求发送到在 Firebase 应用托管上托管的网站时,请求将由启用了 Cloud CDN 的 Google Cloud 负载平衡器处理。未缓存的请求会发送到源服务器,源服务器会将该请求发送到您的 Cloud Run 服务。
实现流程
设置 Firebase | 如果您还没有 Firebase 项目,请创建一个,并确保该项目已启用 Blaze 定价方案。 | |
设置 App Hosting | 使用 Firebase 控制台或 Firebase CLI,创建一个应用托管后端。这是应用的托管资源的集合,包括与应用的 GitHub 代码库的连接。 | |
管理和监控应用 | 创建好 App Hosting 后端后,您的应用将可以在其免费子网域上访问,并且您可以在 Firebase 控制台中查看发布详情。您可以使用 Google Cloud 控制台查看和搜索日志。 | |
开发应用 | 每次提交被推送到实际分支时,App Hosting 都会自动开始新的发布。 |