2008-11-02 70 views
2

我想更新我的做法,並尋找一些幫助和建議!IDE,SVN和推送到網站!

我在運行joomla,oscommerce,drupal等的網站上做了很多工作,所以我創建了很多自定義組件/插件和黑客等等。目前,每個站點在我的xampp安裝程序上都有自己的文件夾。我想要做的是默認設置(例如)Joomla設置,當我更新更新時,我可以做一些更新包含joomla的所有其他文件夾,就像自動更新一樣?

我也在尋找更多使用Aptana IDE和SVN服務的例子,如unfuddle與其他人分享我的工作,但我之前沒有使用過SVN,也不確定它是否有可能使用SVN來完成上述操作?

如果能夠處理主要/核心項目並將更新發送到本地更新和實際服務器,而無需維護大量不同的單獨站點,那將是一件好事。

對此提出建議?

回答

3

是的,SVN將是一個很好的工具。在源代碼控制中存儲你的代碼(例如:一個自定義的Joomla組件)。無論您想使用該組件,只需將該特定文件夾的checkoutexport插入您的實時站點。這裏是你可以組織你的資料庫的一種方法:通過SSH

unfuddle.com/myRepo/trunk/com_myComponent 
unfuddle.com/myRepo/trunk/com_anotherComponent 

登錄到您的現場服務器並運行此命令:

 
> cd path/to/joomla/components 
> svn co http://unfuddle.com/myRepo/trunk/com_myComponent 

任何時候你改變你的代碼,提交更改,然後重新登錄到服務器並運行:

 
> cd path/to/joomla/components 
> svn up com_myComponent 

這樣做的真正的好處是,你應該做一個更新和碰壞,你總是可以回滾到最後一個已知的「良好」的版本。

至於自動化這個過程,如果它在不同的服務器上,你可能會倒黴。對於同一服務器上的多個部署,可以非常輕鬆地編寫一個shell腳本來爲每個站點/組件運行上述命令。如果你需要完全自動化,你甚至可以設置一個cron作業來每天凌晨2點運行這個腳本 - 我個人堅持使用手動方法,但它仍然是一種選擇。

爲了在SVN倉庫本地工作,我建議您查看TortoiseSVN(如果您使用的是Windows):這是使用SVN最簡單最簡單的方法。

+0

一些偉大的建議,我擔心SVN將是一場艱苦的鬥爭,所以你的指導真的幫助。聯合檢查 - 更新?這是否也將所有svn文件放入該文件夾中,還是使用乾淨的方式獲取文件? – 2008-11-03 14:03:55

+0

是的,co =結帳,up =更新。使用checkout/update *會*創建所有SVN元數據的.svn文件夾,這是不可取的。有兩種方法:使用「導出」,或使用apache .htaccess文件禁止訪問.svn文件夾。許多人更喜歡第一個選項(不是我) – nickf 2008-11-04 00:43:06

0

我對你的情況沒有很好的答案,但我不認爲Subversion本身就是答案。

This Question解決了一些關於Subversion跨「項目」共享機制的擔憂。

Subversion當然可以處理這個難題的源代碼管理部分。自動分發,以及我會使用另一種工具。

+0

感謝你,我一定會考慮它 – 2008-11-03 14:19:12

0

調查Capistrano。我已經使用了它幾次,一旦你弄明白了,它很好。針對rails,但應該適用於需要從存儲庫獲取代碼並將其部署到不同服務器上的任何事情。

+0

我會看看它聽起來很有趣,雖然我們運行的RHEL服務器,我不認爲他們運行紅寶石:( – 2008-11-03 14:20:43