在雲端基礎結構上重設Adobe Commerce的環境
本文說明在雲端基礎結構上Adobe Commerce上復原環境的不同案例。
選擇最適合您的案例:
- 如果您有計畫的活動(計畫的部署或升級) - 案例1:計畫的活動)。
- 如果您有有效的快照 — 案例2:還原快照。
- 如果您有穩定的組建,但沒有有效的快照 — 案例3:沒有快照,組建穩定(可使用SSH連線)。
- 如果組建已中斷,而且您沒有有效的快照 — 案例4:沒有快照;組建已中斷(沒有SSH連線)。
案例1:計畫活動
在計畫的部署或升級中,最簡單且建議使用的Rollback是讓商家在準備時執行下列作業:
升級/部署活動前5天:
- 檢查目前資料庫的大小。
- 檢查您在
/data/exports
上的磁碟空間是否足以容納Database Dump。 如果您沒有足夠的磁碟空間,請移除不需要的資料,或建立支援案例並要求擴充磁碟。
變更當天:
- 將網站放入Maintenance Mode。
深入瞭解使用手冊中的啟用或停用Maintenance Mode,以及升級手冊中用於升級的Maintenance Mode選項。 - 停用cron工作。 閱讀我們的crons屬性指南中有關停用cron工作的詳細資訊。
- 取得本機Database Dump。
若需要Rollback:
- 如果應用程式(例如MariaDB)已升級為此計畫活動的一部分,請先將該應用程式重新安裝至先前的版本。
- Rollback使用本機Database Dump的資料庫,並將它匯回MariaDB。
- 透過Git將程式碼Rollback至先前的工作版本。
對於升級/規劃的活動rollbacks/restores,不建議使用Snapshots,因為擷取資料所需的時間比本機Database Dump長,如上方 步驟2所述,若需要Rollback 區段。
Snapshots不是儲存在節點/伺服器上,而是儲存在不同的儲存區塊上,而且由於資料必須透過網路從區塊儲存傳輸至新磁碟,所以這個過程需要時間。 然後,會將新磁碟掛載到節點,準備擷取/匯入到連線到節點/伺服器的原始磁碟。
當您將此專案與匯入本機Database Dump進行比較時,資料在節點/伺服器上已經可以擷取,因此會儲存大量時間,因為只需要一個Database Import。
案例2:還原快照
閱讀:在開發人員檔案中在雲端基礎結構上還原Adobe Commerce上的快照。
閱讀:在開發人員檔案中建立快照。
案例3:沒有快照、建置穩定(可用SSH連線)
本節說明當您尚未建立快照,但可透過SSH存取環境時,如何重設環境。
步驟如下:
- 停用組態管理。
- 解除安裝Adobe Commerce軟體。
- 重設git分支。
執行這些步驟後:
- 您的Adobe Commerce安裝會回到其Vanilla狀態(資料庫已還原;部署組態已移除;
var
下的目錄已清除)。 - 您的git分支已重設為過去所需的狀態。
請閱讀以下詳細步驟。
步驟0 (先決條件):移除config.php以停用「組態管理」
我們需要停用「組態管理」,以免在部署期間自動套用先前的組態設定。
若要停用「組態管理」,請確定您的/app/etc/
目錄不包含config.php
檔案。
若要移除組態檔,請遵循下列步驟:
- SSH至您的環境。
- 移除組態檔:
rm app/etc/config.php
深入瞭解組態管理:
- 減少雲端基礎結構上Adobe Commerce的部署停機時間 (在我們的支援知識庫中)。
- 在開發人員檔案中商店設定的組態管理。
步驟1:使用setup:uninstall命令解除安裝Adobe Commerce軟體
解除安裝Adobe Commerce軟體會捨棄並還原資料庫、移除部署設定,以及清除var
下的目錄。
閱讀:在開發人員檔案中解除安裝Adobe Commerce軟體。
若要解除安裝Adobe Commerce軟體,請遵循下列步驟:
- SSH至您的環境。
- 執行
setup:uninstall
:bin/magento setup:uninstall
- 確認解除安裝。
系統會顯示下列訊息,確認解除安裝成功:
[SUCCESS]: Magento uninstallation complete.
這表示我們已將Adobe Commerce安裝(包括DB)還原為其正版(Vanilla)狀態。
步驟2:重設git分支
透過git重設,我們將程式碼還原成過去所需的狀態。
- 將環境複製到本機開發環境。 您可以在Cloud Console中複製命令:
- 存取認可歷史記錄。 使用
--reverse
以相反順序顯示歷程記錄,以方便使用:git log --reverse
- 選取您擅長的認可雜湊。 若要將程式碼重設為真實狀態(Vanilla),請尋找建立分支(環境)的第一個認可。
- 套用硬式git重設:
git reset --h <commit_hash>
- 將變更推送至伺服器:
git push --force <origin> <branch>
執行這些步驟後,系統會重設我們的git分支,並清除整個git變更記錄檔。 最後git個推送會觸發重新部署,以套用所有變更並重新安裝Adobe Commerce。
案例4:沒有快照;組建損毀(沒有SSH連線)
本節說明如何在環境處於嚴重狀態時重設環境:建置程式無法成功建置工作應用程式,因此導致SSH連線無法使用。
在此案例中,您必須先使用git重設還原Adobe Commerce應用程式的工作狀態,然後解除安裝Adobe Commerce軟體(若要卸除並還原資料庫、移除部署設定等)。 此情境涉及與情境3相同的步驟,但步驟順序不同,並且有另一個步驟 — 強制重新部署。 步驟如下:
- 重設 git 分支。
- 停用組態管理。
- 解除安裝Adobe Commerce軟體。
- 強制重新部署。
執行這些步驟後,您將會獲得與案例3相同的結果。
步驟4:強制重新部署
提交認可(這可能是空的認可,雖然我們不建議這麼做)並將其推送到伺服器以觸發重新部署:
git commit --allow-empty -m "<message>" && git push <origin> <branch>
如果安裝:解除安裝失敗,請手動重設資料庫
如果執行setup:uninstall
命令失敗並出現錯誤,而且無法完成,我們可以使用以下步驟手動清除DB:
重設DB後,進行 git 推送到環境以觸發重新部署,並將Adobe Commerce安裝到新建立的DB。 或執行重新部署命令。