2011-01-27 58 views
0

我最近被分配到一個發佈工程團隊,努力讓我們的構建過程更具可管理性。在我們產品的歷史中,我們只是在每個版本中都構建了版本控制庫中的所有內容,因爲它並不是一個時代。這包括我們擁有源代碼的第三方產品(例如,包括企業庫),我們自己的內部框架代碼,最後是產品本身。然而,經過幾年穩定的產品增長,這已經成爲一個非常繁瑣的過程。這就是說,我們想建立一種分層構建系統,其中只有產品(每天都在變化)建立在每天的基礎上,而我們的框架代碼(變化少得多)和我們的第三方代碼(幾乎從不)僅在它們更改時才構建。我們有一個符號&設置源代碼服務器,以便於調試代碼,比如我們的框架庫,這些代碼並不是每個版本都新建的,但我們仍在弄清楚如何促進這一點。爲了記錄,我們使用TFVC進行源代碼控制。TFS:如何緩存框架構建以減輕構建過程?

我的問題是這些:這種事情使用什麼樣的做法?我們是否爲這個構建的每個「層級」(即第三方的團隊項目,框架和產品)分別建立了團隊項目並將它們分成了另一個?我們是否曾將一層的構建產品檢入下一個以確保依賴關係解決?如果不是,二進制文件在哪裏生活?這些要求是否會要求我們使用GAC?

最後,如果有任何關於這類東西的指導,我喜歡做一些閱讀;但是,由於我是新手創建/發佈工程,我還不知道在哪裏尋找。

謝謝!

回答

1

要回答你最後一個問題,有關於構建配置和管理的excellent book from Microsoft

關於你的第一個問題:我們分別處理我們的依賴關係。我們有一個編譯我們的框架的構建。我們有另一個編譯我們自己的項目的版本。

然而,作爲我們第二個構建過程的一部分,我們在編譯我們自己的項目之前,從我們的構建構建器的buildmachine中安裝了這個設置。

這樣,我們可以將我們的框架與我們的項目分開發布。我們的項目可以確定(通過修改構建配置)何時開始使用新版本。

該項目和框架有自己的TFS項目。

+0

很棒。粗略地說,這是我夢寐以求的方法。雖然自動化框架安裝的想法非常有趣!我沒有想到這一部分,而是以某種方式使用源代碼管理來管理二進制文件。但是,只有通過使用安裝程序才能使不同的構建相關聯,這當然是有吸引力的。這是否意味着當您發貨時,必須運行幾個安裝程序來安裝產品,或者是否將最終產品安裝程序中的依賴關係重新打包? – bwerks 2011-08-10 14:39:21