运维部署管理版本回滚

版本回滚

Zeabur 会保留每次部署的记录,让你在新部署出现问题时,可以还原至任何先前成功的版本。

还原的运作方式

每次部署服务时,Zeabur 都会保留该部署的构建记录。这些记录会被保留,让你可以恢复到先前的版本。

当你触发还原时:

  1. Zeabur 会使用所选先前版本创建一个新部署
  2. 新部署会经过标准的健康检查流程。
  3. 健康检查通过后,流量会路由到还原后的版本。
  4. 失败的部署仍会保留在部署历史记录中供参考。

由于还原遵循相同的部署流程,因此同样享有零停机的特性——在还原版本确认健康之前,旧的(有问题的)部署会继续处理流量。

从仪表板进行还原

还原服务的步骤:

  1. 在 Zeabur 仪表板中打开你的服务。
  2. 前往 Deployments 分页。
  3. 在部署历史记录中找到你要恢复的部署。
  4. 点击该部署上的 Rollback
  5. Zeabur 会根据所选的快照创建新的部署。
💡

还原会在历史记录中创建一个新的部署项目。它不会删除或修改任何先前的部署。

依服务类型的还原方式

Git 部署的服务

对于从 Git 仓库部署的服务,你有两个选项:

  • 仪表板还原 — 使用上述方式恢复到先前的构建快照。
  • Git revert — 将 revert commit 推送到你的仓库。Zeabur 会检测到新的 commit 并触发全新构建,通过正常的 CI/CD 流程有效地还原你的代码。

Docker 镜像服务

对于从 Docker 镜像部署的服务,你可以在服务设置中指定先前的镜像标签来进行还原。将镜像标签更新为所需的版本,Zeabur 就会使用该镜像重新部署。

预建服务(数据库与模板)

对于从模板或数据库部署的服务,还原遵循相同的仪表板操作流程。从历史记录中选取所需的部署并点击 Rollback 即可。

还原不会还原的项目

还原会将应用程序代码和构建产物恢复到先前的状态。但不会影响:

  • 环境变量 — 自原始部署以来对环境变量所做的任何变更都会保持不变。
  • 存储空间 — 存储在持久性存储空间中的数据不会被还原。
  • 数据库内容 — 如果你的部署包含数据库迁移,还原应用程序不会反转这些迁移。你可能需要手动处理结构描述(schema)变更。
⚠️

如果你的部署涉及数据库迁移或其他有状态的变更,请谨慎规划还原。如有需要,考虑在应用程序还原的同时还原数据库备份

最佳实践

  • 在部署至正式环境前先测试。 创建独立的测试项目,在变更上线前发现问题。
  • 使用小规模、渐进式的部署。 较小的变更更容易诊断和还原。
  • 部署后持续监控。 每次部署后观察监控指标日志,以便及早发现问题。