Check out what’s new from Firebase at Google I/O 2022. Learn more

通过 GitHub 拉取请求部署到实时和预览频道

您可以通过 GitHub Action 将部署集成到 Firebase 托管。以下是此 GitHub Action 可以为您做的事情:

  • 为 GitHub 存储库上的每个 PR 创建一个新的预览频道(及其关联的预览 URL)。

  • 使用预览 URL 向 PR 添加评论,以便您和每个审阅者可以在应用的“预览”版本中查看和测试 PR 的更改。

    带有预览 URL 的 GitHub Action PR 评论图片

  • 通过自动部署到关联的预览通道,使用每次提交的更改更新预览 URL。 URL 不会随着每次新的提交而改变。

  • (可选)在 PR 合并时将 GitHub 存储库的当前状态部署到您的实时频道。

提醒:使用预览网址时,您的应用会与 Firebase 项目的真实后端资源进行交互。

设置 GitHub 操作以部署到 Firebase 托管

  1. 创建一个 GitHub 存储库(公共或私有)或使用现有的。您必须具有存储库的管理员权限。

  2. 在您的存储库的本地版本中,使用firebase init命令设置 Firebase 托管。

    • 如果您尚未设置托管,请从本地目录的根目录运行此版本的命令:

      firebase init hosting
    • 如果您已经设置了 Hosting,那么您只需要设置 Hosting 的 GitHub Action 部分。从本地目录的根目录运行此版本的命令:

      firebase init hosting:github
  3. 按照 CLI 提示进行操作,该命令将自动负责设置 GitHub 操作:

    • 在您的 Firebase 项目中创建一个有权部署到 Firebase 托管的服务帐号。

    • 加密该服务帐户的 JSON 密钥并将其作为GitHub secret上传到指定的 GitHub 存储库。

    • 编写引用新创建的密钥的 GitHub 工作流yaml配置文件。这些文件将 GitHub 操作配置为部署到 Firebase 托管。

  4. 在 GitHub 中,创建一个新分支并提交 CLI 创建的工作流yaml文件。

  5. 将分支发布到您的 GitHub 存储库。

  6. 合并分支。

而已!此 GitHub 存储库中的任何后续 PR 都将自动获得其自己的“预览 URL”!

了解有关 GitHub 操作的更多信息

  • Firebase 将“部署到 Firebase 托管”GitHub Action 维护为一个开源项目。查看源代码。

  • “部署到 Firebase 托管”GitHub 操作允许进一步配置,例如自定义预览频道的到期日期或设置非实时频道以在 PR 合并时部署到。了解可用的配置选项。

  • 总体上了解有关GitHub Actions的更多信息。