管理发布和版本

如果您已启用自动发布,则每次将新提交推送到 GitHub 代码库中的正式版分支时,App Hosting 都会自动发布应用的新版本。您可以在 Firebase 控制台或 App Hosting GitHub 检查中查看发布状态。

此外,App Hosting 还支持手动触发的发布,以用于 CI/CD 集成或您想要强制执行发布的任何其他情况。

查看发布作业

Firebase 控制台可让您访问有关应用所有发布版本的详细信息。在 App Hosting 中,选择您要查看其发布版本的后端对应的查看。后端的 Rollouts 标签页会显示一个表格,其中列出了相应后端的所有发布历史记录。

每个发布条目都包含指向 Cloud Build 作业以及触发发布的更改或提交的链接,以及有关发布作者、创建日期和状态的基本信息。

  • Cloud Build 作业是 App Hosting 运行应用 build 命令的 build 环境。您可以点击 build ID 来访问 Cloud Build 日志。
  • 更改是指触发发布流程的 GitHub 提交或其他操作。

手动触发发布

如果您想从 GitHub 来源手动触发发布,而无需推送新提交,则可以通过 Firebase 控制台或 Firebase CLI 创建发布。这在以下情况下非常有用:

  • 强制重新生成静态内容。
  • 允许 CI/CD 系统触发发布。
  • 将生产版本发布限制在特定日期或时间。

如需在 Firebase 控制台中触发发布,请执行以下操作:

  1. App Hosting 中,选择要为其创建发布的后端的查看
  2. 在后端信息中心摘要中,选择创建发布
  3. 选择要部署的分支。
  4. 选择要部署的提交,可以是最新提交,也可以是按提交 ID 指定的较早提交。
  5. 选择创建。发布历史记录表中会显示发布的状态和 build 编号。发布流程完成后,相应发布会显示为当前发布。

如需在 Firebase CLI 中触发发布,请运行以下命令,并在系统提示时选择要发布的分支:

firebase apphosting:rollouts:create BACKEND_ID

或者,您也可以使用 --git-branch 选项,针对特定分支的最新提交启动发布:

firebase apphosting:rollouts:create BACKEND_ID
--git_branch BRANCH_NAME

您还可以使用 --git-commit 选项创建包含特定提交的发布:

firebase apphosting:rollouts:create BACKEND_ID
--git_commit COMMIT_ID

恢复之前的发布

应用托管提供了两种用于恢复之前推出的版本的方式:

  • 无需重建即可立即回滚
  • 重新构建并回滚到之前的版本

创建即时回滚

有时,您可能需要快速回滚到应用的旧版本,例如,如果您在新部署的发布版本中发现了严重 bug,或者遇到了不稳定的 build,导致无法进行新的发布。在这种情况下,您可以从之前的发布中恢复所选的现有容器映像。此映像不会重新构建,而是使用首次构建时的代码和环境配置。

如需创建即时回滚,请执行以下操作:

  1. App Hosting 中,选择要为其创建回滚的后端的查看
  2. 选择发布标签页。
  3. 在后端的历史记录表格中,选择之前 build 对应的三点状菜单。
  4. 选择回滚到此 build,然后确认。

重新构建并回滚

如果您想恢复到应用的旧版本,但仍保留当前配置,可以在回滚过程中重新构建应用。例如,如果最新版本更新了 Secret Manager 中的 API 密钥值,重新构建可以确保在回滚后,应用中使用的是新密钥。

如需重新构建并回滚,请执行以下操作:

  1. App Hosting 中,选择要为其创建回滚的后端的查看信息中心。\
  2. 选择发布标签页。
  3. 选择创建发布
  4. 创建发布版本对话框中,选中之前的提交,然后输入要重新构建并回滚到的版本的提交 ID。提交 ID 是发布历史记录中列出的每次发布的“更改详情”的一部分,包含在标签中的英文括号内。
  5. 选择创建以开始回滚。

更改发布设置

您可以使用后端信息中心内设置 > 部署 视图中的控件更改发布版本的实时分支,以及停用或启用自动发布。

  1. App Hosting 中,选择要更新分阶段发布设置的后端对应的查看
  2. 在后端信息中心内,选择设置。默认视图会显示有关网域和自定义网域的信息。
  3. 选择部署视图。在此视图中,您可以更改发布所用的正式版分支,以及停用或启用自动发布。此外,您还可以选择设置应用根目录和后端环境(请参阅部署到多个环境)。