我的公司已經開發了一個cms,但現在我們使用它一段時間後,我們偶然發現了一個問題:所有更改都與實況環境直接相關。如果您想對網站進行大修改,您有時需要先完成所有工作,然後立即將所有更改發佈到實時網站。CMS的分段環境架構
我講的內容現在,而不是開發/測試/分期/生產環境中開發軟件
我見過幾個選項來解決這個問題,但沒有人能夠完全解決這個問題:
- 使用版本控制:版本x在生產中運行,y在分期;
- 使用草稿/發佈標誌:所有草稿內容都遠離現場;
- 使用兩個數據庫:一個用於臨時環境,另一個用於現場。
他們都有問題:
- 版本是新創建的頁面(版本空在生產?)和改變頁面的站點地圖(我們使用爲一組嵌套的)問題;
- 對於草稿,無法創建已發佈頁面的第二個版本;
- 隨着你必須複製第二個數據庫/同步你不想成爲兩個地不同的所有數據:用戶,用戶組,權限等
是否還有其他選擇?最好你想在用戶槓桿上這樣做,所以用戶A可以開始大修,用戶B仍然能夠發佈新內容。但是,現在這可能太困難了,我們現在只需要解決第一個問題。
PS。這是一個帶有MySQL後端的PHP,ZF應用程序,但這對我認爲的架構應該不重要。