問題描述

廣泛接受的是,開發人員應該通過分段站點測試更新,然後將其發佈到即時服務器,但是一旦開發更新需要在 Wordpress DB 中進行修改,事情會變得複雜,因為即時站點中的用户也會更新數據庫。

我可以想象的唯一 (混亂) 的流程如下:

  1. 在本地服務器上測試 (WAMP,XAMP 等)

  2. 準備部署後,將即時站點置於維護模式

  3. 備份現場 (Duplicator,sqldump 等)

  4. 創建一個鎖定的即時站點克隆到分段站點

  5. 將修改從本地環境上傳到分段站點

  6. 測試分期站點

  7. 推動分期站點生活。

  8. 刪除維護模式

以上流程的缺點:

  • 停機時間可能比用户預期的長,而開發人員正在認真測試分期站點中的更新;

  • 可能需要手動管理修改:例如,siteorigin pagebuilder 佈局存儲在數據庫中,因此一旦佈局被修改,它必須在分段站點中手動導入; 在這種情況下,只要簡單地放下& 將頁面導入到分段站點,如果工作,則將其導入到現場站點

我想知道是否有更好的和更自動的方式來實現這一點。

你怎麼看?

編輯根據要求,過去提出了一些解決方案,但沒有提供一個明確的解決方案:

最佳解決方案

專門針對 WordPress 的較新的託管服務提供商通常有工具來緩解這種痛苦。我把我的客户放在有這個 neat Git-enabled workflow 的萬神殿中,代碼只有從開始到升級到生產,而 DB 的東西只能向下移動 (反之亦然) 。將數據庫從生產複製到分段是一個點擊它們的界面。只要這個工作流程受到尊重,這幾乎可以消除任何混亂生產數據庫的問題,使我能夠在開發過程中始終在生產數據庫數據的新鮮克隆中測試我的更改。

人們不必使用萬神殿 – 您可以使用自己的工具 (Git +一個 DB 克隆插件,如 WP Migrate DB) 在您的過程中採用類似的方法。我只是覺得這樣對我很好。

問題:為什麼要在測試階段將你的生產現場置於維護模式?在大多數情況下,不應該有這種需求。我可以想到的唯一的情況是有一些非常脆弱的系統對其中添加的用户數據非常敏感,並引發災難性的錯誤 – 但這可能表明一個不同的,更大的問題,需要重新思考他們的產品的整個架構。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。