2009-09-30 82 views
0

我是一個獨立開發人員,正在研究諸如MSBuild/NAnt之類的工具以改進我的構建過程。我的項目文件開始對構建後事件變得混亂,並且有一些分析工具我想運行一些而不是其他的。我想重新獲得訂單並將所有內容定義爲構建XML文件。推薦的構建目標

我爲構建目標的想法是:

  • 調試構建:專爲快速編譯和部署。沒有執行代碼分析或檢查。
  • 分析構建:執行調試構建,代碼分析和生成文檔。
  • 部署內部版本:使用適當的編譯器標誌編譯版本。還執行與分析構建相同的步驟。

我在正確的軌道上嗎?我應該在.NET開發中使用哪些構建目標?

回答

2

我們目前只使用CI(持續集成或調試版本)和Release。 調試版本只包含編譯,無代碼分析,測試等。

發佈是所有魔術發生的地方(與他們在MTV Cribs中一樣):版本控制,代碼簽名,打包,壓縮,混淆,文檔等

我可以想象另一個'發佈'或'部署' - 構建發佈和發佈到測試服務器的目標,我決定何時發佈版本準備推送到測試服務器,服務器。

+0

順便說一句,剛發現沒有真正需要發佈 - 構建目標。有一種名爲'TFSDeployer'的工具,可以這樣做,當構建的BuildQuality發生變化時,它將啓動一個可定製的腳本。 Codeplex上可以找到'TfsDeployer'工具。 – 2009-10-07 10:47:22

0

下面的一些更適用於團隊開發。

我同意限制配置的數量 - 每個配置都會增加維護開銷。所以Debug被剝離了,而Release有代碼分析等等。但是我在Release版本上運行CI,所以我不必做單獨的CI和Release版本。這也意味着任何發佈構建問題都會被檢入觸發的CI構建捕獲,因此如果開發人員破壞(潛在)版本,開發人員會立即獲得反饋。我做的另一件事是發佈配置,我更改項目設置以將警告視爲錯誤,因爲我喜歡代碼以免警告;任何警告將導致CI構建失敗。由於代碼分析會創建警告,這意味着任何違反CA規則的行爲都會導致CI構建失敗,這意味着開發人員可以更快地修復它,從一開始就幫助確保更高質量的代碼。