2011-05-03 161 views
0

我想部署我們的php項目,但我不知道如何去與我們的典型項目。PHP項目部署

我們的項目是基於我們的CMS。我們使用擴展(插件)和定製模板定製CMS。 CMS核心和CMS擴展在SVN中。定製意味着,我們在模板中進行了一些更改,而無需委託給SVN。如果SVN版本發生變化,我們可以將該項目更新爲最新版本,但通常一些衝突會上升...

是否有一種簡單的方法可以在最新的CMS/extensions版本中定製項目?正在部署PhingCapistrano正確的方法?

請給我一些提示,頁面等與simillar問題。非常感謝。

+2

你有沒有聽說過樹枝?或svn:這件事的外部?這些將能夠解決您的部分問題,同時保留包含您對特定客戶端的更改的可靠代碼庫。創建新項目時:在新分支中創建CMS的副本或創建單獨的存儲庫並使用svn:externals(或使用供應商分支)導入CMS代碼。如果您有CMS更新,可以按照您認爲合適的方式將這些更新合併到客戶端回購/分支中。我們總是爲每個客戶使用一個不同的回購,併爲我們的CMS使用一個主回購(這對我來說似乎很合理)。 – wimvds 2011-05-03 09:09:54

+0

謝謝。這似乎合乎邏輯。但我害怕衝突。我必須考慮製作分支/外部。理想情況下,我想自動合併。謝謝 – 2011-05-03 09:22:11

+1

通過供應商分支,您可以輕鬆地將客戶特定更改與CMS更改進行合併。當然,不能保證不會有任何衝突,但是如果您不移動文件或重命名文件,並且沒有特定於客戶端的更改不會向後兼容,則升級您的應用程序將會輕而易舉CMS發佈:p。個人而言,我寧願花時間解決衝突,然後管理數十萬個未受版本控制的項目(在那裏,這樣做,再也不會這樣做)。 – wimvds 2011-05-03 09:43:17

回答

1

我必須注意,您處理項目的方式完全違背了應該使用版本控制的方式。您應該始終能夠提交更改 - 否則您的版本不會保留。

在您的部署問題上,我會說調查rsync。 Phing也是一個很好的解決方案。

+0

我們從CMS內核創建「每週」新項目,定製需要1到2個月的時間。因此,我們有幾個項目,我們不能將項目提交到一個存儲庫中...我們需要顯示從存儲庫到定製項目的更改。清楚嗎? – 2011-05-03 09:16:34

+0

也許 - SVN不適合這種治療...我們應該繼續Git嗎?或者做一些其他更改?我願意接受任何想法:) – 2011-05-03 09:18:28

+0

wimvds有一個很好的評論,簡而言之,它說明了我在這個公司工作的公司。 – 2011-05-03 09:20:11

1

這是一個我們用phing製作的構建系統,我們用它替換了我們的capistrano部署系統。我們只使用Git,我們的許多項目都使用相同的構建過程,所以我們需要一個系統,我們可以將它添加到任何項目作爲git子模塊,並立即開始構建/部署。如果您願意,歡迎您使用它並將其分叉。

https://github.com/CodeMeme/Phingistrano

0

爲每個項目創建一個新的存儲庫,並使用SVN的外部以包括CMS核心到項目庫中。不提交代碼是一個巨大的失敗。