我正在考慮使用PowerShell和/或C#編寫我自己的交付代碼,可能會對NAnt或MSBuild進行脫殼。構建過程 - 使用什麼?
- 我爲什麼要不走這條路?與使用NAnt或MSBuild相比,這是否非常困難 ?
- 任何好的,現代的書可以幫助嗎?
- 有什麼更好的點子?
背景(附註:這是一個宗教問題,對於一些沒有侮辱之意。):
一人店,多探索項目。就像我們大多數人一樣 - 現在是windows和ASP.Net。考慮到移動和雲。
我開始插手NAnt,並試圖按照Expert .Net Delivery Using NAnt and CruiseControl.Net。 「交付」的整個問題都被放在冰上,現在是時候「解凍」了。但是,我不確定要走哪條路。據我所知:
NAnt正在顯示其年齡。這很笨拙:比現代的OO語言(如C#)更難以理解和維護。即使在我遵循這本書之後,在一個神祕的環境中工作似乎很奇怪,在這個環境中,您要執行的是XML,並且循環和繼承(就像我在「冰河世紀」之前記得的那樣)是難以實現的。
MSBuid是MS特定的。我甚至不確定它是否會支持非MS環境。團隊基礎服務器很昂貴。
即便如此,它們似乎都提供了價值,因爲在我的SO搜索中我沒有聽到任何人使用他們自己的定製軟件。但是,我不明白爲什麼不使用C#,並根據需要調用NAnt和/或MSBuild任務。
我的建議剛好相反 - 避免的MSBuild像瘟疫。 NANT遠遠更容易設置您的版本進行自動測試,部署到多個生產環境,與巡航控制集成入門環境,與源代碼控制集成。我們已經經歷了TFS/MSBuild(使用TFSDeployer,自定義PowerShell腳本等)的巨大痛苦,以使它能夠做到我們用NANT開箱即可完成的任務。不要浪費你的時間。
還有更多建立一個產品不僅僅是編譯它。由於這些工具(及其擴展)提供的功能,諸如創建安裝,更新版本號,創建託管,分發最終包等的任務可能會更容易。雖然你可以做這一切定期腳本,使用惡性或MSBuild的給你一個堅實的框架,這樣做的所有
謝謝大家的驚人答案 - 這需要一點消化,但我真的覺得我剛剛有一個偉大的顧問會議。 我希望我能「接受」你的答案! 非常感謝SO這樣一個偉大的平臺 - 無論是在技術上還是在社交上。 – Avi 2009-11-14 21:48:25