所以,我和一个朋友一直在讨论持续集成和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