我有一個小團隊(4個開發人員),我們創建了一個網站,目前有500個用戶。管理wordpress環境
我們的開發週期是這樣的:
- 我們對我們的本地主機的變化(安裝插件或定製代碼)。
- 我們把它推向開發環境。我們可以做壓力測試,我們有幾個測試用戶等等。
- 我們對它進行評價。
- 我們推動它的生產。
部署新代碼就像git pull一樣簡單,但真正的問題是數據庫。
幾乎所有的插件都要求我點擊管理面板中的某些東西。更重要的是:當我安裝它們時,其中一些會創建新表或更新現有表。例如,爲每個用戶添加一些新的用戶元數據。
我想到了一些解決方案:
- 在所有環境中手動安裝插件:
我可以手動安裝插件,但是這很容易出錯。 我們遇到了幾種情況,代碼相同,但由於一些簡單的配置錯誤,網站的工作方式不同。
導出整個數據庫:
- 出口生產數據庫和進口到dev。
- 在dev上安裝插件。
- 將開發移植到生產。
它有一個真正的問題 - 這是不是原子。如果用戶在dev上安裝插件時創建了一個帖子,它就消失了。
- 從數據庫的更改創建腳本:
我可以記錄,什麼WordPress的做到了,而我是通過MySQL的二進制日誌安裝插件。
問題是,可以讓所有用戶在一個數據庫查詢中,然後使用ID添加一些元數據與另一個元數據。這意味着,該二進制日誌記錄查詢與一堆ID。如果新用戶在過程中註冊 - 它已經消失。
- 硒IDE錄製configuartion變化:
然後我就可以導出測試套件,Python和重放與改變的主機地址。它可以工作,但似乎相當像解決方法,然後解決方案。
- 修改所有的插件,使他們由PHP文件配置:
這似乎是合法的,但可能會造成相當多的工作。
您能告訴我,如何自動化數據庫更改的wordpress部署?
有幾個類似的問題對SO:
Managing Wordpress blog on development and live environment
Wordpress Dev Environment Migration
但這些都是相當基本的問題,他們不解決我的問題。
在[wordpress.se]的研究中,已經有很好的工作流程發佈在那裏。 – brasofilo