Firebase App Hosting

Firebase App Hosting 可简化动态 Web 应用的开发和部署,提供 GitHub 集成,并可与其他 Firebase 产品(例如 AuthenticationCloud FirestoreFirebase AI Logic)集成。 App Hosting 内置了对 Next.js 和 Angular 的预配置支持 并广泛支持各种热门 Web 框架。

开始使用

 

主要功能

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 控制台访问日志和指标、添加自定义网域,以及手动触发发布。

工作原理

  1. 使用 Firebase 控制台或 Firebase CLI,在您的代码库中授权并安装 Firebase GitHub 应用。
  2. 仍在 Firebase 控制台或 Firebase CLI 中,创建一个 Firebase App Hosting 后端,其中包含用于 持续部署的代码库和活动分支。 App Hosting 会为您的后端创建默认发布政策,以便在更改推送到目标 分支时立即向 100% 的流量发布。
  3. 当提交推送到您的活动分支时,Google Cloud Developer Connect 会向 Firebase App Hosting发送事件。
  4. Firebase App Hosting 会响应此事件,Firebase App Hosting 为 连接到代码库的后端创建新的构建。
    1. 首先,Firebase App Hosting 会为 您的提交创建新的 Cloud Build 构建。在此作业中, Google Cloud buildpack 会确定您的应用中使用的框架,以创建适合您应用的容器和配置(包括 环境变量、密钥、最小或最大实例数、并发 内存、CPU 和 VPC 配置)。 如需了解详情,请参阅 the App Hosting 构建流程 For 。
    2. Cloud Build 作业完成后,您的容器将存储在专用于 Firebase App HostingArtifact Registry 代码库中。 Firebase App Hosting 然后使用您的映像和配置向 Cloud Run 服务添加新的 Cloud Run 修订版本。
  5. Cloud Run 修订版本完成并验证为正常后, Firebase App Hosting 会修改其流量配置,以将所有新 请求指向新的 Cloud Run 修订版本。此时,发布完成。
  6. 当请求发送到 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 每次有提交推送到您的活动分支时,都会自动开始新的发布。

后续步骤

  • 开始部署应用。
  • 试用 App Hosting Codelab,该 Codelab 将托管应用与 Firebase AuthenticationGemini API 功能集成:Next.js | Angular
  • 详细了解 App Hosting 支持的各种 社区支持的框架App Hosting