問題描述

您如何開發,測試和 deploy-to-live 您的 Wordpress 網站?

它總是有點像我發現的,特別是在資料庫方面,主要是因為有一個測試站點需要一個全新的資料庫來部署,有時可以是完全相同的,除了所有的連結都改為測試網站 url,而不是現場網站。

同樣,自上次需要修復錯誤或開發新內容之後,使用者上傳的任何上傳都將被複制到測試站點。

別人怎麼做?你剛剛忍住了這個騙子嗎?你使用聰明的版本控制系統嗎?

謝謝

最佳解決方案

有一些個人理念進入部署工作流程。在不瞭解您的伺服器和版本控制,作業系統,託管,客戶體驗和技術文化等方面的經驗的情況下,徹底回答並不容易。

  1. 這是一個有很多解釋的 similar question

  2. 對於內容部署,您可以檢視 Crowd Favorite 的 RAMP plugin

  3. WP 駭客是找到有關部署的良好資訊的好主意。

就個人而言,我確定我從來沒有在我的主題中硬編碼絕對 URL 。使用 bloginfo() 或程式碼相對 URL 。我在 wp-config.php 檔案中使用了很多條件。這是我的 wp-config 編輯的香草版本。

switch($_SERVER['SERVER_NAME']){
    case 'dev.yourdomain.com':
        $db_host = '';
        $db_pass = '';
        //define debugging
        break;
    case 'stage.yourdomain.com':
        $db_host = '';
        $db_pass = '';
        break;
    default: //Live
        $db_host = '';
        $db_pass = '';
}
define('DB_PASSWORD', $db_pass);
define('DB_HOST', $db_host);

//You could also set this as a variable above
define('WP_HOME', 'http://'.$_SERVER['SERVER_NAME']));
define('WP_SITEURL', 'http://'.$_SERVER['SERVER_NAME']));

我在很多網站上工作

  • 本地 (個人駭客) 在我的筆記型電腦網路伺服器上)>

  • dev(在客戶端伺服器上測試)>

  • 階段 (質量保證 – 內容編輯的穩定來源)>

  • 生產 (現場)

最後,我建議您使用版本控制工具來幫助您部署 GIT 或 SVN 。它顯著地簡化了流程,並保持了環境之間的源完整性。致力於為您的本地人透過舞臺和製作的命令列輕鬆更新。發現之前,如果有開發人員在專案中工作,那麼最好在開發過程中定義您和客戶端從一開始就要使用的版本控制。我個人使用 GIT 進行版本控制。然而,如果一個客戶端使用 SVN,我在本地做兩個混合,所以我自己維護一個 repo,同時也承諾他們的回購。

我們很少有從一個環境遷移到另一個環境的問題。我們在 DB 中找到/替換,以便相應地為嵌入式媒體等更改 URL …

參考文獻

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