2010-06-08 62 views
12

我們是一家網頁設計公司,正在着手建立修訂管理系統,以及圍繞我們如何使用它的所有流程等。我們正在考慮使用git修訂版管理系統。與Joomla一起使用GIT

我們主要在Joomla!內容管理系統(CMS)上開發我們的網站。我想知道其他公司在處理CMS時如何管理其存儲庫。我們主要處理模板構建,並且偶爾定製我們安裝的組件或插件。

我的主要問題是:

  • 是存儲在庫中的所有文件(包括Joomla的文件)的最佳方法,或者只是文件,您撥打或改變自己?
  • 你是否保留了數據庫(Joomla用於其操作和內容存儲)的副本,以解決數據庫更改?
+1

因爲那是Joomla使用的SCM,所以使用SVN可能更容易。我相信有一種方法可以將外部存儲庫選項添加到自己的目錄中,所以基本上Joomla存儲庫將會是外部的,並且會在Joomla更新其源代碼時引發更新,然後您只需擔心自己的代碼。然而,它顯然(總是)比這更復雜一點,所以我確信後面的人可以給你更好的提示。祝你好運! – 2010-06-08 01:44:58

回答

4

對於第一個問題,通常大多數小組都會檢查與項目相關的所有文件(日誌和臨時文件除外)。如果您確實想要存儲數據庫,請存儲數據庫的轉儲(而不是二進制文件)。您應該確保同時包含數據和模式。

1

我們與您處於類似的情況 - Joomla網站的設計機構。

我們使用Subversion,每個網站作爲存儲庫。當我們開始一個項目時,我們下載最新版本的Joomla並將其放入SVN中。然後,我們將該網站從SVN檢出到本地計算機上,並在需要時進行檢查。

5

本文由Joe LeBlanc是我關於修訂的Joomla控制!: http://joomlaablog.blogspot.it/2010/11/how-to-track-your-joomla-project-with.html

有你可以用 的Joomla採用了使用Git兩種通用戰略中的幾件事情之一:要麼跟蹤整個Joomla安裝或追蹤 特定擴展。跟蹤Joomla本身的主要阻礙因素是Git的 是Joomla代碼庫的龐大規模。雖然Git合理地是 很快,但如果您要添加單個模板或模塊,那麼跟蹤整個Joomla安裝 仍然可能是矯枉過正。

另一方面,將所有內容放入Git可以讓 確定何時將修補程序應用於Joomla網站。當您嘗試將問題追蹤到特定的修補程序時,這可能是 有幫助。 此外,如果您要創建大量設計爲 的擴展程序,您可能別無選擇,只能將整個站點 置於版本控制之下。

如果您正在使用一個擴展程序,並且您知道它是唯一一個將成爲項目一部分的 ,跟蹤 單個目錄可能更有優勢。 只有一個前端組件,只有後端 組件,模塊或模板都是跟蹤 與Joomla安裝分開跟蹤的候選項。以這種方式跟蹤插件 是很困難的,因爲插件.php文件並排放置在共享文件夾中的 。以這種方式跟蹤完整的組件 也存在問題,因爲後端的更改可能會影響前端的 行爲。

2

如果您決定第一個選項(跟蹤整個joomla),您必須.gitignore所有內核,每次添加一個外部擴展。否則,當有人安裝擴展並提交擴展時,這將是一場噩夢。然後你必須在拉後發現它,有時它不起作用。 Joomla版本的變化也很難管理。

我主張不同的存儲庫適用於不同的擴展,但我仍然在尋找一種方法來爲整個組件(admin + front + install)提供一個repo。任何想法(可能是子模塊或子樹mergin)?

9

我知道這個問題已經得到了一個公認的答案,但也許有人會回到這個,並找到它的用處。

  • 我想跟蹤整個joomla並試圖排除核心文件幾乎是不可能的,因爲@vicgilbcn說它可能會變成一場噩夢。
  • 另一方面,如果您正在爲J開發組件!這「不幸」是slipt在「組件/ com_mycomp」,「管理員/組件/ com_mycomp」大概「媒體/ com_mycomp」你應該有3個獨立的git回購協議來跟蹤它 - 所以這要麼是不可行的。

所以我想出了,似乎工作得很好,是這樣的: 假設我有一個正常的J!在我的com_mycomp組件內部進行部署。

  • 我在joomla代碼庫之外創建一個文件夾並將其稱爲「COMMON」。在
  • 「共用」我創造「COMMON /的Joomla」一「的Joomla」文件夾
  • 我創建「myComp」文件夾,將持有我在「COMMON /的Joomla/myComp」我用組件
  • 的整個代碼庫Joomla的文件夾結構和我MOVE(未複製) '分量/ com_mycomp', '管理員/組件/ com_mycomp' 和裏面 '的媒體/ com_mycomp'。
  • 然後我回到我從中刪除文件夾的位置,並創建符號鏈接到新位置。

這種方式現在可以在COMMON/joomla/myComp中創建一個git倉庫。

很顯然,這個環境應該是一個本地開發環境,您可以在這裏調整apache/php配置,而不會產生安全隱患,以使其工作。 (我不記得如果我真的不得不做這個工作的任何特殊配置的修改 - 如果不檢查日誌...)

由於事實上,這個解決方案確實解決了另一個問題。通過這種方式工作,您可以將組件的代碼庫文件夾符號鏈接到兩個不同的Joomla部署(例如J!2.5.x和J3.x.x),並且能夠立即針對不同版本開發/檢查組件兼容性。

+0

不錯的答案! '在「COMMON/joomla/myComp」我使用Joomla文件夾結構「,這是否意味着完整的joomla結構或只是這三個文件夾:組件,管理員和媒體?謝謝 – 2017-04-15 09:09:13