所以,我和一個朋友一直在討論持續集成和BAT/PowerShell腳本與CI服務器,比如CruiseControl.Net或哈德森。持續集成:PowerShell中與CI服務器(或CC.NET哈德森)
下面的PowerShell腳本的僞作品從SVN更新,建立使用的MSBuild,部署/複製出來,更新的應用程序構建/修訂版本號,並在構建失敗電子郵件。下一步是在MSTest中添加呼叫,並在未成功時通過電子郵件發送結果。
- SVN更新
- 的msbuild> build_deploy_development_out_msbuild
- ([XML](SVN信息--xml))。info.entry.commit.revision + [炭] 13 + [字符] 10 +(回波%DATE%%TIME%)> build_revision_number.html
- $行號=選擇字符串build_deploy_development_out_msbuild -pattern 「構建失敗」 | Select-Object Linenumber
- $ smtp = New-Object System.Net.Mail.SMTPClient -ArgumentList localhost |如果($ linenumber> 0)$ smtp.Send(「From:Email」,「To:Email」,「build failed」,「build failed ... some some must die!」)
This has當我們使用項目的特定工具(構建工具,源代碼管理,單元測試)(例如,msbuild,nant,svn)編寫自己的shell腳本來實現相同的目標時,將我引向CI服務器的價值問題,git的,NUnit的,MSTEST等)
我沒有經歷過的維護成本呢。我想讓別人對你的shell腳本和CruiseControl.Net或Hudson進行評論。請注意,我沒有CI服務器的使用經驗,所以請不要把它當作CI服務器的關鍵。我根本不知道最好的答案,並認爲我會問社區。
祝好! Pete Gordon
這應該是社區wiki,因爲沒有明確的答案 – 2009-10-13 19:09:35
爲什麼CC.NET或Hudson甚至列出?這看起來像是一個PowerShell VS CI問題。爲什麼語義? – TheOptimusPrimus 2013-08-29 18:34:50