2011-06-27 91 views
4

我對如何設置開發環境有一些疑問。開發工作流程,Joomla,GIT

我正在運行一個正在使用SOBI2的網站。 SOBI2將被我使用Nooku框架創建的自定義組件替換。

到目前爲止,我的本地主機上安裝了Joomla。 Nooku框架和我的自定義組件位於我的計算機的自己的目錄中,然後符號鏈接到Joomla安裝。我這樣做是因爲在開發時將它們分開很好。然後使用GIT跟蹤我的自定義組件,並在其公共SVN回購中追蹤Nooku。 我想這是一個非常標準的設置。

所以,現在我想克隆我的LIVE Joomla安裝到我的本地主機,並使用GIT進行跟蹤,以便能夠輕鬆地將更改推送到我的實時服務器。現在,直播網站根本不受版本控制。

那麼,我該如何輕鬆做到這一點?

我想最好使用兩個GIT倉庫,一個倉庫只包含我的自定義組件,另一個倉庫包含整個站點。 然後工作流會是這樣的發展我的自定義組件,網站的時候:

  1. 使空的Joomla更改自定義組件,測試安裝
  2. 提交更改。
  3. 將我的自定義組件回購庫中的更改引入本地站點(通過GIT的活動站點的鏡像)。
  4. 確保一切正常。
  5. 提交併推送更改到站點GIT回購。
  6. 將站點回購更改爲實時服務器。

數據庫更新必須手動處理我想。

  • 這是一種很好的工作方式嗎?
  • 如何跟蹤本地站點內的自定義組件?我聽說過GIT子模塊,這是用來做什麼的?

  • 這裏有什麼好的指導嗎?

問候 萊納斯

+0

這確實是一個Git子模塊的用途。我*認爲*如果您在包含目錄樹中較低的預先存在的repo的目錄中創建回購站,Git甚至會自動設置它。 – James

回答

3

我們這樣做以下列方式,但使用Mercurial source code management tool:從 到位桶

  • 結帳空庫(或創建本地)
  • 安裝Joomla!到該文件夾​​中
  • 添加到。hgignore所有核心的Joomla 文件和組件,並確保他們不會被提交
  • 添加到存儲庫僅部件, 插件,我們開發

所以基本上我們的Joomla我們的資源庫文件夾內的模塊,但其所有文件都被忽略,並且不會被提交 - 除了我們自己組件的文件。

然後我們檢查倉庫到生產服務器,然後安裝Joomla!那裏。 (首先結賬,然後只安裝Joomla)。當我們檢查回放到生產或任何其他地方,只有我們的文件被檢出。

對於數據庫更改,通常我們有一個db文件夾(或任何名稱),我們只是添加SQL文件和更改數據庫的腳本。你可以使用如下命令輕鬆地調用它們:mysql -uUser -pPass dbname < 12.table_name.change_name.sql

+0

這種方法有缺點:開發的網站只有很少的自定義組件。你不能通過git更新這些組件。 – sectus