版本還原
Zeabur 會保留每次部署的記錄,讓你在新部署出現問題時,可以還原至任何先前成功的版本。
還原的運作方式
每次部署服務時,Zeabur 都會保留該部署的建置記錄。這些記錄會被保留,讓你可以恢復到先前的版本。
當你觸發還原時:
- Zeabur 會使用所選先前版本建立一個新部署。
- 新部署會經過標準的健康檢查流程。
- 健康檢查通過後,流量會路由到還原後的版本。
- 失敗的部署仍會保留在部署歷史記錄中供參考。
由於還原遵循相同的部署流程,因此同樣享有零停機的特性——在還原版本確認健康之前,舊的(有問題的)部署會繼續處理流量。
從儀表板進行還原
還原服務的步驟:
- 在 Zeabur 儀表板中開啟你的服務。
- 前往 Deployments 分頁。
- 在部署歷史記錄中找到你要恢復的部署。
- 點擊該部署上的 Rollback。
- Zeabur 會根據所選的快照建立新的部署。
💡
還原會在歷史記錄中建立一個新的部署項目。它不會刪除或修改任何先前的部署。
依服務類型的還原方式
Git 部署的服務
對於從 Git 儲存庫部署的服務,你有兩個選項:
- 儀表板還原 — 使用上述方式恢復到先前的建置快照。
- Git revert — 將 revert commit 推送到你的儲存庫。Zeabur 會偵測到新的 commit 並觸發全新建置,透過正常的 CI/CD 流程有效地還原你的程式碼。
Docker 映像檔服務
對於從 Docker 映像檔部署的服務,你可以在服務設定中指定先前的映像檔標籤來進行還原。將映像檔標籤更新為所需的版本,Zeabur 就會使用該映像檔重新部署。
預建服務(資料庫與模板)
對於從模板或資料庫部署的服務,還原遵循相同的儀表板操作流程。從歷史記錄中選取所需的部署並點擊 Rollback 即可。
還原不會還原的項目
還原會將應用程式程式碼和建置產物恢復到先前的狀態。但不會影響:
- 環境變數 — 自原始部署以來對環境變數所做的任何變更都會保持不變。
- 儲存空間 — 儲存在持久性儲存空間中的資料不會被還原。
- 資料庫內容 — 如果你的部署包含資料庫遷移,還原應用程式不會反轉這些遷移。你可能需要手動處理結構描述(schema)變更。
⚠️
如果你的部署涉及資料庫遷移或其他有狀態的變更,請謹慎規劃還原。如有需要,考慮在應用程式還原的同時還原資料庫備份。