Adobe Commerce Patching Automation工作流程總覽

本主題提供使用Adobe Commerce Patching Automation執行修補程式作業方式的高層級概觀。

術語

  • 作業 — 服務執行的主要動作:

    • 套用
    • 回覆
  • 階段 — 工作流程的三個階段:

    • 初步檢查
    • 修補
    • 驗證
  • 環境 — 套用修補程式的Adobe Commerce雲端環境。

作業

Patching Automation支援兩種主要​作業,用於管理Adobe Commerce Cloud環境中的修補程式:

  • 套用作業 — 透過安全且經過驗證的程式,將修補程式變更新增至您的程式碼基底。 將修補程式檔案置於m2-hotfixes資料夾中即可套用修補程式。

  • 還原作業 — 從m2-hotfixes資料夾移除修補程式檔案,以從程式碼基底移除先前套用的修補程式。

IMPORTANT
還原作業僅適用於最初透過Patching Automation套用的修補程式。 使用此服務無法還原手動或透過其他方法套用的修補程式。

階段

Patching Automation工作流程使用始終以此順序執行的三個​階段,以確保安全可靠地套用修補程式:

  • 初步檢查 — 驗證修補程式相容性和環境整備。
  • 修補 — 在整合環境中套用或還原修補程式。
  • 驗證 — 驗證修補應用程式並執行健康狀態檢查。

階段詳細資料

階段1:初步檢查

初步檢查階段會驗證修補程式是否可以安全地套用至您的環境。

發生狀況:

  • 生產環境防護措施 (僅限生產環境):

    • 檢查存放區是否處於維護模式
    • 驗證cron工作是否已停用
    • 若不符合條件則封鎖修補
    • 如果滿足條件則顯示確認對話方塊
  • 修補程式驗證 — 驗證修補程式檔案有效且相容

  • 環境評估 — 檢查環境整備與資源

  • 衝突偵測 — 識別與現有程式碼的潛在衝突

  • 相依性檢查 — 驗證Adobe Commerce版本相容性

階段2:修補

修補階段會在暫時整合環境中套用或還原修補程式。 在此階段中,服務會建立暫時性的整合環境,以安全地套用修補程式、確認其成功部署,以及驗證其是否通過健康狀態檢查(在對實際環境進行任何變更之前)。

此方法可提供:

  • 安全 — 保持您的目標環境不變,直到整合環境成功部署並通過其健康狀態檢查為止
  • 復原功能 — 如果偵測到問題
  • 隔離 — 適用於每個修補程式操作

階段2a:建立整合環境

分支建立 — Patching Automation會建立名為{target-environment}-CAPS-{patch-id}的暫時整合環境分支

環境設定 — 整合環境是建立為目標環境的子項

程式碼同步 — 整合環境會繼承目標環境的確切程式碼狀態(相同的程式碼基底)

無資料複製 — 整合環境不會收到目標環境資料(資料庫、媒體或其他儲存內容)的復本 — 僅會使用程式碼基底來套用及驗證修補程式

資源需求 — 您的雲端專案的總儲存容量已在合約中定義。 (透過您的帳戶頁面或magento-cloud subscription:info檢視)。 每個環境的磁碟配置是透過.magento.app.yaml/.magento/services.yaml中的disk屬性個別設定的。 如需詳細資訊,請參閱管理磁碟空間。 如果修補程式作業因儲存限制而失敗,請對照其設定的配置檢查整合環境的磁碟使用量(magento-cloud db:size / magento-cloud mount:size)。

階段2b:整合環境中的修補應用程式

安全測試 — 修補程式已套用至整合環境,而非直接套用至您的目標環境

檔案管理 — 修補程式檔案置於m2-hotfixes資料夾中

Git作業 — 變更已認可並推送至整合環境分支

環境啟用 — 啟用整合環境以部署修補程式碼

健康情況檢查 — 啟動後,Patching Automation會在繼續合併之前確認下列專案:整合環境部署成功且狀況良好、應用程式啟動,而且可以連線到其資料庫和快取連線。

NOTE
如果您的專案使用外部GitHub存放庫,服務會使用Patching Automation GitHub應用程式自動處理驗證。 除了安裝應用程式以外,您不需要其他認證。

階段2c:合併回目標環境

同步檢查 — 在合併之前,服務會確認整合環境仍為作用中、與目標環境同步且狀況良好。 如果目標在修補期間已變更,作業會在此處停止而非合併

環境簽出 — 服務會在本機簽出您的目標環境

合併作業 — 整合環境分支已合併至目標環境

衝突處理 — 如果發生合併衝突,作業會失敗並回報為錯誤 — 不會自動解決

部署 — 合併的變更會部署到您的目標環境

驗證 — 服務會驗證合併是否成功,以及環境是否同步

整合環境生命週期

在修補階段中,整合環境有特定的生命週期:

  • 建立 — 在修補階段開始時建立
  • 作用中期間 — 在修補應用程式和測試期間保持作用中
  • 清理 — 在合併之前,如果作業在修補階段失敗,就會立即刪除。 在驗證階段期間合併後,無論是否通過驗證,都會遭到刪除

階段3:驗證

驗證階段會確認已修正的應用程式是否成功啟動,並透過健康狀態檢查。

發生狀況:

  • 應用程式健康情況檢查 — 驗證應用程式是否啟動並正確執行,以及它的資料庫和快取連線是否可連線
  • 清理 — 移除暫時整合環境,並更新工作狀態以反映已完成。 環境的活動仍會顯示在您專案的活動摘要中。
IMPORTANT
不同於階段1和2,此健康狀態檢查會在​ 之後執行,修補程式已經合併到您的目標環境中。 ​如果失敗,合併不會自動回覆。 您的目標環境可能會處於中斷狀態,需要手動干預(例如還原修補程式)才能還原。 請參閱疑難排解,瞭解發生此情況時該怎麼做。

成功指標

套用作業:

  • 「已成功完成工作」 — 已套用修補程式,且沒有問題
  • 「已套用修補程式」 — 修補程式已存在(不需要採取任何動作)
  • 修補檔案已成功置於m2-hotfixes資料夾
  • 所有驗證檢查都通過
  • 應用程式健康情況檢查成功

還原作業:

  • 「已成功完成工作」 — 修補程式已恢復且沒有問題
  • 「已還原修補程式」 — 已還原修補程式(無需動作)
  • 已成功從m2-hotfixes資料夾中移除修補程式檔案
  • 所有驗證檢查都通過
  • 應用程式健康情況檢查成功

生產環境防護措施

在生產環境中套用或還原修補程式比在其他環境中風險更大,因此Patching Automation包含兩個特定於生產的保護裝置。

開始前確認

在生產環境中開始任何套用或還原操作之前,系統會提示您確認對話方塊中的操作。 此確認步驟可防止在生產環境中意外啟動工作。

建議的先決條件

Adobe建議您在修補生產環境前,先啟用維護模式並停用cron作業。 依預設,Patching Automation會驗證是否同時符合這兩個條件,並在不滿足任一條件時以通知封鎖作業。 如果您瞭解在沒有維護模式或啟用cron作業的情況下繼續處理的風險,請在UI中選取覆寫核取方塊以略過此檢查。

  • 維護模式 — 建議啟用
  • Cron工作 — 建議停用

相關主題

recommendation-more-help
commerce-operations-help-tools