2009-04-09 55 views
2

我在使用CMS上的軟件配置管理(特別是Joomla!)時遇到了所有問題。我正在編寫自定義模板,當然還有自定義模塊和組件。這些網站和應用程序是針對客戶的,而不是內部的。針對CMS的SCM

我想實際版本的站點的配置,它的模板和組件不僅僅是代碼,因爲我希望它是準備斜坡上升的修正,或轉讓給他人,儘快。現在,這意味着存儲一個完整的Joomla!爲SVN中的每個站點安裝,包括組件和模板的安裝版本,以及存儲實際的數據庫導出。對於組件,我還保留了代碼的「打包」版本(見下文)。我通常不會打擾模板,因爲您可以將它放入Joomla!安裝並運行。

我目前正在辯論的這個設置的問題是在自定義組件開發中。在Joomla! (和大多數其他CMS)擴展通常使用Web安裝程序進行部署 - 由於需要更改數據庫,因此您不能(至少在最初)將文件放在某個文件夾中。 Joomla!安裝程序系統通過安裝和卸載掛鉤提供數據庫和文件遷移,因此它是一個非常合理的部署系統。 1)直接在安裝的組件上工作,添加和更改文件,然後手動將它們複製到組件的打包版本,或者2)使用打包的組件並使用安裝程序以實際查看結果。這個選項通常需要很長的時間,但它確實具有保持代碼「可釋放」的優點,尤其是在數據庫遷移方面。

無論哪種情況,在簽入之前,這些更改都會被複制到這兩個版本的文件中,並且重複對我來說似乎是一種嗅覺。

那麼,有沒有其他人這樣做?有更好的選擇嗎?

回答

2

「1 /」應該是「種」的路要走

當你有字的「包裝」,這意味着你沒有一個版本,但兩個「組件」(組文件)

  • 一個「發展」的成分:相當大的,與每一個文件,你需要
  • 一個「DISTRIB」組件:非常小,只有少數的在它的壓縮文件。

它涉及:

  • 該DISTRIB組分(通過壓縮這些文件並將它們存儲)
  • 自動的方式來複制DISTRIB成分的自動方式來構建和版本(表示壓縮的版本的打包版本),解壓縮並與測試或生產平臺進行同步。

這樣一來,你就不是簡單的「複製」的變化,但保持一個實際的完整配置的軌道:

  • 隨時可部署在其他平臺上
  • 或用於rsynch部署當前包。
+0

我很感謝這個答案。我現在的問題是Joomla構建步驟的細節。更多問題! – Jerph 2009-10-13 05:35:10