維運部署管理版本還原

版本還原

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)變更。
⚠️

如果你的部署涉及資料庫遷移或其他有狀態的變更,請謹慎規劃還原。如有需要,考慮在應用程式還原的同時還原資料庫備份

最佳實踐

  • 在部署至正式環境前先測試。 建立獨立的測試專案,在變更上線前發現問題。
  • 使用小規模、漸進式的部署。 較小的變更更容易診斷和還原。
  • 部署後持續監控。 每次部署後觀察監控指標日誌,以便及早發現問題。