2013-04-30 22 views
-1

我想知道有沒有一種方法或工具可以有效地管理中心構建?我目前正致力於改善我們項目的建設過程。任務有兩個目標,如何管理大規模建設項目

  1. 加快建設(它需要12小時才能完成整個東西現在)
  2. 找到一種方法來自動管理項目的依賴關係(我們使用一個主.CMD腳本構建所有的項目在給定的順序)

我們有C++,Java,C#項目(70%,20%,10%)。其中大部分都是在Windows上構建的,而其餘的則在Linux上。構建腳本包含ant,msbuild在任何地方調用。

有點質量,對不對?有任何想法嗎?

謝謝,邁爾斯

回答

0

我假設你在構建服務器上有一個源代碼存儲庫?如果沒有,您可能會考慮將您的源存儲庫遷移到專用服務器。從那裏你可以使用MS構建或ant來定義在代碼簽入時觸發的構建。如果你的代碼破壞了構建,這將允許你提交一切,並得到一個討厭的電子郵件。只是開玩笑,但你會得到消息,說你打破了構建。我用Team City和Cruise Control取得了很好的成功。我不記得一個12小時的構建。這可能是正在製作的cpp文件......誰知道。團隊城市非常乾淨,併爲每個項目構建留下一個壓縮的工件文件,該文件在給定的日期可用於測試等。也許你有一個龐大的C++項目,在這種情況下你可能想把它分解成可建立的塊。

+0

PS:我們確實有一個存儲庫,當然,p4 ...源代碼總共有大約5億行。構建需要12小時,因爲一些項目在整個腳本中不止一次構建,並且大量輸出二進制文件被複制到這裏,那裏和任何地方,誰知道。我們害怕添加新功能(項目),因爲它需要更新構建腳本,並且可能會導致副作用。哎呀,這完全是一團。 – 2013-04-30 05:51:00

+0

謝謝,肯德里克。我將首先檢查Team City和Cruise。 – 2013-04-30 05:54:28

+0

Holy cr * p。 5億行?真?哇。聽起來就像專職人員需要構建CM系統。可能需要考慮打破這一點,將它們視爲獨立的「產品」,其中爲某些(子)系統生產的「二進制文件」被其他項目視爲「待使用產品」。例如,您在編譯時並未編譯所有JVM或Linux發行版 - 這些是您僅使用*的獨立產品。你可以識別內部產品(屬於你的),你可以像單獨構建的單獨「產品」一樣處理? – charley 2013-04-30 13:13:24