我確定這是其他人已經解決的一個常見問題,因此我要求其他開發人員/項目經理在集體智慧中尋求一些幫助。如何構建具有多個依賴項目的VCS
我有一些項目:
- 應用
- 的WebApp
- ServerApp
- 開發utils的
- ORM
全部/ utils的依賴於應用程序在ORM上:ORM更改時,需要編譯所有應用程序需要重新編譯並部署。現在我的VCS結構是怎樣的一個混亂的:
- AppName的
- 幹線
- 應用
- 的WebApp
- ServerApp
- 開發utils的(約4個文件夾,現在,但越來越多)
- ORM
- RELASE
- 項目名(可以是應用程序或Web應用程序)version.number
- 分行
- ExperimentName_DevName
- 幹線
理想情況下,我想每個應用程序都有一個根文件夾(Application/WebApp/ORM等),每個文件夾都有自己的中繼線/分支/發佈等,以便在邏輯上和物理上將它們分開。我的推理是,因爲在應用程序上完成了大量工作,並且更頻繁地發佈,每個發佈分支具有相同應用的相同副本等。同時檢查Trunk以使其工作始終意味着所有其他項目會出現。
但是,分離將意味着將某些項目從解決方案中剝離出來,並且同時修改任何項目是2-3個IDE之間的跳躍(尤其是對ORM進行更改時)。
我正在考慮這個問題,因爲很快我將一臺CI機器放在一起(準備在一個星期左右的時間裏就這個問題提出問題),並試圖找出一種方法讓這些版本自動創建/部署。通常情況下,只需將應用程序通過腳本複製部署到所有工作站在啓動時從服務器獲取的服務器上,但正如我之前所說的那樣,如果ORM更改/發佈,則所有其他應用程序都應該重新構建和部署。
(今天我打破了我們的網站,3個公用事業,因爲我改變了ORM並與應用程序的更新版本部署它,卻忘了重建/部署的其他應用程序與新的ORM - 哎呀)
您的IDE可以同時加載多組項目嗎?例如,Eclipse有一些工作集,可以幫助解決這個問題。另外,每個模塊的變化頻率如何? – GreenKiwi 2009-05-26 03:52:23
關於CI,您可以在這裏查看/搜索TeamCity,Electric Could和CruiseControl以查看其他人已完成的工作。 – GreenKiwi 2009-05-26 04:00:27