我是使用Joomla和Drupal等系統開發許多基於CMS項目的開發團隊的一員。如何部署:1修補程序中的數據庫,源代碼和二進制文件更改?
在我們的開發過程中,我們所有的代碼更改都是在Git內部進行管理的。在衝刺結束時,我們創建了一個DIFF,我們可以通過補丁將其應用到現場。
的問題是,大部分的時間,這些變化包括
- 數據庫結構更改
- 數據庫數據的變化
- 源代碼更改
- 二進制文件的更改(如圖片)
Git Diff處理源代碼變化很漂亮。除了引用文件已更改的事實外,二進制文件僅包含在Diff中。
數據庫模式更改和數據庫數據更改是一團糟。
如果存在可用於在1個補丁中部署所有這些更改的統一補丁系統,則我正在徘徊。
所以現在的問題是,「有沒有可用於部署的所有這些變化在1次射門的系統?
理想的情況下,該系統將允許運行幹運行像補丁,但對於所有的4個數據類型的
編輯: 謝謝大家對您提供的反饋意見,這是對我在這方面的研究起點
這是我迄今發現:
這是很難使用Linux包裝 系統部署基於PHP的 應用程序,因爲更改 項目反覆發生而 然後作爲釋放。
這將有可能使用DBCONFIG部署變爲 項目,但問題是 生成的MySQL數據庫的diff(架構 和數據)
真正缺少的基於PHP應用程序部署 是將 在服務器上安裝部署管理器,並會 是部署 補丁
我在這個主題上開了一個Google Wave,併產生了很多信息。 如果有人有興趣閱讀這一波,請讓我知道,我會加你。
+1符合我所說的,用特定的包裝系統使用+版本跟蹤評論。請注意,如果不考慮與以前版本的應用程序的數據庫兼容性,則應在發佈和回滾期間將站點/服務置於離線狀態,以防發生故障。 – eglasius 2009-11-27 17:27:04
@Antoine Claval,非常感謝您的反饋,我發現它非常有幫助。感謝您抽出時間來概述您的部署策略,我認爲您應該享有聲望點:) – 2009-12-03 18:55:41