0

我正在做幾件共享的.NET程序集和一個通用的Web應用程序,我想在我們的CC.NET/NAnt構建環境。用cruisecontrol.net + nant進行.NET自動化構建+多個彙編結構/最佳實踐

當前,我們有幾個.NET程序集(我們在客戶端項目中使用的共享通用代碼)存在於我們的SCM(順便說一下,Vault)不同存儲庫內的不同.N​​ET解決方案中。它們都是在CC.NET下單獨配置的,所以我們對目前的構建和部署有相當大的控制權。

我們開發了一個CMS系統,它使用了一些.NET程序集,幷包含一個通用管理網站項目和一個模板網站示例項目。出於這種一個解決方案,我們有需要以下因素,單獨管理:所以它是基於模板

  • 管理接口是不依賴於.NET和我們正在開發一個PHP後端它。
  • CMS共享程序集建立在我們其他常用公司範圍程序集之上。
  • 控制每個主要CMS構建/版本中的功能。

我希望此解決方案的構建輸出爲Visual Studio模板,我們可以使用它開發其他客戶端網站並更好地管理CMS本身內的版本更改,因爲我們將代碼添加到代碼庫中。

對於所有這些我都有一個粗略的方法,並且認爲它是可以實現的,但是,我想打開此主題進行討論,看看其他人在管理多個解決方案的構建和部署時正在做什麼。

我們主要考慮是:

  • 難道我們利用在CC.NET集成隊列功能,以確保構建順序,並在構建時拉我們所需要的組件,共同爲CMS?
  • 在CMS客戶端站點中進行調試,即當客戶端解決方案是基礎CMS系統的一個版本並因此分離時,跨入共享程序集的代碼。
  • 當它使用共享程序集時,開發和擴展CMS,即,我們是在開發過程中(跨源代碼控制庫)將彙編項目添加到中繼解決方案中,然後依靠構建將它們拉到一起,或者我們完全使用不同的方法?
  • 人們可能經歷過的任何其他問題可能會改變我們的思維方式嗎?

希望這個問題不是太模糊,你們中的一些人會處理這些問題。期待聽到每個人的經驗。

非常感謝! 添

回答

1

可惜我不能回答你所有的點,但讓我開始這一個:

  • 難道我們利用在CC.NET集成隊列功能 保證構建順序並將 組裝起來,我們需要爲CMS構建 構建時間?

簡短的回答是,你應該。隊列屬性確保CC.NET正在運行的實例中的構建順序,併爲您提供了依賴於對方的構建的序列化。要指定哪些項目相互依賴,應該使用project triggers。做不是依賴於此任務的queuePriority。

你最有可能在構建時拉出你需要做的構件。除非你在個人版本上有一些時間限制。

回覆:

  • 發展,當它使用的共享組件,即做我們的發展過程中添加該組件項目,以主幹溶液(跨源控制庫),然後依靠構建以延長CMS把它拉到一起還是我們完全使用不同的方法?

我根本對分佈於軀幹可執行文件,除非它的一些並不需要更新/變更頻繁地庫。如果您自己構建共享程序集,則應考慮將它們從構建服務器上的構件中拉出來。

+0

感謝您的意見Steen – 2009-02-01 12:12:49