Adobe Commerce Patching Automation工作流程總覽
本主題提供使用Adobe Commerce Patching Automation執行修補程式作業方式的高層級概觀。
術語
-
作業 — 服務執行的主要動作:
- 套用
- 回覆
-
階段 — 工作流程的三個階段:
- 初步檢查
- 修補
- 驗證
-
環境 — 套用修補程式的Adobe Commerce雲端環境。
作業
Patching Automation支援兩種主要作業,用於管理Adobe Commerce Cloud環境中的修補程式:
-
套用作業 — 透過安全且經過驗證的程式,將修補程式變更新增至您的程式碼基底。 將修補程式檔案置於
m2-hotfixes資料夾中即可套用修補程式。 -
還原作業 — 從
m2-hotfixes資料夾移除修補程式檔案,以從程式碼基底移除先前套用的修補程式。
階段
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會在繼續合併之前確認下列專案:整合環境部署成功且狀況良好、應用程式啟動,而且可以連線到其資料庫和快取連線。
階段2c:合併回目標環境
同步檢查 — 在合併之前,服務會確認整合環境仍為作用中、與目標環境同步且狀況良好。 如果目標在修補期間已變更,作業會在此處停止而非合併
環境簽出 — 服務會在本機簽出您的目標環境
合併作業 — 整合環境分支已合併至目標環境
衝突處理 — 如果發生合併衝突,作業會失敗並回報為錯誤 — 不會自動解決
部署 — 合併的變更會部署到您的目標環境
驗證 — 服務會驗證合併是否成功,以及環境是否同步
整合環境生命週期
在修補階段中,整合環境有特定的生命週期:
- 建立 — 在修補階段開始時建立
- 作用中期間 — 在修補應用程式和測試期間保持作用中
- 清理 — 在合併之前,如果作業在修補階段失敗,就會立即刪除。 在驗證階段期間合併後,無論是否通過驗證,都會遭到刪除
階段3:驗證
驗證階段會確認已修正的應用程式是否成功啟動,並透過健康狀態檢查。
發生狀況:
- 應用程式健康情況檢查 — 驗證應用程式是否啟動並正確執行,以及它的資料庫和快取連線是否可連線
- 清理 — 移除暫時整合環境,並更新工作狀態以反映已完成。 環境的活動仍會顯示在您專案的活動摘要中。
成功指標
套用作業:
- 「已成功完成工作」 — 已套用修補程式,且沒有問題
- 「已套用修補程式」 — 修補程式已存在(不需要採取任何動作)
- 修補檔案已成功置於
m2-hotfixes資料夾 - 所有驗證檢查都通過
- 應用程式健康情況檢查成功
還原作業:
- 「已成功完成工作」 — 修補程式已恢復且沒有問題
- 「已還原修補程式」 — 已還原修補程式(無需動作)
- 已成功從
m2-hotfixes資料夾中移除修補程式檔案 - 所有驗證檢查都通過
- 應用程式健康情況檢查成功
生產環境防護措施
在生產環境中套用或還原修補程式比在其他環境中風險更大,因此Patching Automation包含兩個特定於生產的保護裝置。
開始前確認
在生產環境中開始任何套用或還原操作之前,系統會提示您確認對話方塊中的操作。 此確認步驟可防止在生產環境中意外啟動工作。
建議的先決條件
Adobe建議您在修補生產環境前,先啟用維護模式並停用cron作業。 依預設,Patching Automation會驗證是否同時符合這兩個條件,並在不滿足任一條件時以通知封鎖作業。 如果您瞭解在沒有維護模式或啟用cron作業的情況下繼續處理的風險,請在UI中選取覆寫核取方塊以略過此檢查。
- 維護模式 — 建議啟用
- Cron工作 — 建議停用