在雲端基礎結構上重設Adobe Commerce的環境

本文說明在雲端基礎結構上Adobe Commerce上復原環境的不同案例。

選擇最適合您的案例:

案例1:計畫活動

在計畫的部署或升級中,最簡單且建議使用的是 Rollback 是讓商家在準備時執行以下作業:

NOTE
一律在您的環境中測試這些步驟 Staging Environment 第一!

在升級/部署活動之前五天

  1. 檢查目前資料庫的大小。
  2. 檢查您是否有足夠的磁碟空間 /data/exports 保留 Database Dump. 如果您沒有足夠的磁碟空間,請移除不需要的資料,或建立支援案例並要求擴充磁碟。

變更當天

  1. 將網站置於 Maintenance Mode.

    深入瞭解 啟用或停用 Maintenance Mode 使用手冊中的,以及 Maintenance Mode 升級選項 在我們的升級指南中。
  2. 取得本機 Database Dump.

如果 Rollback 為必要項

  1. 如果應用程式(例如 MariaDB 已升級為此計畫活動的一部分,請先將該應用程式重新安裝至先前的版本。
  2. Rollback 使用本機的資料庫 Database Dump,然後將此匯入回 MariaDB.
  3. Rollback 程式碼透過 Git 至先前的工作版本。

使用 Snapshots 不建議使用此方式升級/規劃活動 rollbacks/restores,因為擷取資料所需的時間比本機長 Database Dump,如上述的步驟2所述 如果 Rollback 為必要項 區段。

Snapshots 不是儲存在節點/伺服器上,而是儲存在不同的儲存區塊上,而且由於資料必須透過網路從區塊儲存傳輸至新磁碟,所以這個過程需要時間。 然後,會將新磁碟掛載到節點,準備擷取/匯入到連線到節點/伺服器的原始磁碟。

當您將此與匯入本機進行比較 Database Dump,即節點/伺服器上已可擷取資料,因此許多時間僅儲存為 Database Import 為必要項。

案例2:還原快照

讀取: 在雲端基礎結構上的Adobe Commerce上還原快照 (位於我們的開發人員檔案中)。

NOTE
在雲端基礎結構帳戶上存取Adobe Commerce之後以及套用重大變更之前,建立快照必須是我們的第一步。 此為最佳實務,強烈建議使用。

讀取: 建立快照 (位於我們的開發人員檔案中)。

案例3:沒有快照、建置穩定(可用SSH連線)

本節說明當您尚未建立快照,但可透過SSH存取環境時,如何重設環境。

步驟如下:

  1. 停用組態管理。
  2. 解除安裝Adobe Commerce軟體。
  3. 重設 git 分支。

執行這些步驟後:

  • 您的Adobe Commerce安裝會回到其Vanilla狀態(資料庫已還原;部署設定已移除;目錄位於 var 已清除)。
  • 您的 git 分支會重設為過去所需的狀態。

請閱讀以下詳細步驟。

步驟0 (先決條件):移除config.php以停用「組態管理」

我們需要停用「組態管理」,以免在部署期間自動套用先前的組態設定。

若要停用「組態管理」,請確定 /app/etc/ 目錄不包含 config.php 檔案。

若要移除組態檔,請遵循下列步驟:

  1. SSH至您的環境.
  2. 移除設定檔: rm app/etc/config.php

深入瞭解組態管理:

步驟1:使用setup:uninstall命令解除安裝Adobe Commerce軟體

解除安裝Adobe Commerce軟體會捨棄並還原資料庫、移除部署設定,並清除下的目錄 var.

讀取: 解除安裝Adobe Commerce軟體 (位於我們的開發人員檔案中)。

若要解除安裝Adobe Commerce軟體,請遵循下列步驟:

  1. SSH至您的環境.
  2. 執行 setup:uninstallbin/magento setup:uninstall
  3. 確認解除安裝。

系統會顯示下列訊息,確認解除安裝成功:

[SUCCESS]: Magento uninstallation complete.

這表示我們已將Adobe Commerce安裝(包括DB)還原為其正版(Vanilla)狀態。

步驟2:重設 git 分支

替換為 git 重設,我們會將程式碼還原成過去所需的狀態。

  1. 將環境複製到本機開發環境。 您可以在Cloud Console中複製命令: copy_git_clone.png
  2. 存取認可歷史記錄。 使用 --reverse 若要以相反順序顯示歷史記錄,以方便使用: git log --reverse
  3. 選取您擅長的認可雜湊。 若要將程式碼重設為真實狀態(Vanilla),請尋找建立分支(環境)的第一個認可。
    在Git主控台中選取認可雜湊
  4. 套用硬式 git 重設: git reset --h <commit_hash>
  5. 將變更推送至伺服器: git push --force <origin> <branch>

執行這些步驟後,我們的 git 分支會重設,而且整個 git 變更記錄檔已清除。 最後一個 git 推送會觸發重新部署,套用所有變更並重新安裝Adobe Commerce。

案例4:沒有快照;組建損毀(否 SSH connection)

本節說明如何在環境處於關鍵狀態時重設環境:建置程式無法成功建置工作應用程式,因此會導致 SSH 連線無法使用。

在此案例中,您必須先使用還原Adobe Commerce應用程式的工作狀態 git 重設,然後解除安裝Adobe Commerce軟體(以卸除及還原資料庫、移除部署設定等)。 此情境涉及與情境3相同的步驟,但步驟順序不同,並且有另一個步驟 — 強制重新部署。 步驟如下:

執行這些步驟後,您將會獲得與案例3相同的結果。

步驟4:強制重新部署

提交認可(這可能是空的認可,雖然我們不建議這麼做)並將其推送到伺服器以觸發重新部署:

git commit --allow-empty -m "<message>" && git push <origin> <branch>

如果安裝:解除安裝失敗,請手動重設資料庫

如果執行 setup:uninstall 命令因錯誤而失敗,且無法完成,我們可以使用以下步驟手動清除DB:

  1. SSH至您的環境.
  2. 連線至MySQL資料庫: mysql -h database.internal (若為Pro環境,請參閱: 設定MySQL服務)。
  3. 放下 main DB : drop database main;
  4. 建立空白 main 資料庫: create database main;
  5. 刪除下列組態檔: config.phpconfig.php.bak,env.phpenv.php.bak

重設DB之後, 設為 git 推送至環境以觸發重新部署 並安裝Adobe Commerce至新建立的DB。 或 執行重新部署命令.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a