我有一些正在我公司工作的Visual Studio解决方案/项目,现在需要一个自动夜间构建方案.这样的方案需要能够从SVN检查最新版本,构建解决方案,创建适当的可下载文件(包括安装程序,文档等),在发生错误时向开发人员发送电子邮件以及各种其他漂亮的东西.我应该使用什么工具或工具集?
几年前我曾经使用过FinalBuilder,我很喜欢它,但我不确定它们是否支持夜间构建和电子邮件等功能.
在我的工作中,我们使用CCNET,但建立在办理登机手续的地方比夜间更多 - 尽管它很容易配置为其中之一或两者.
您可以非常轻松地设置单元测试,以便在每次签入时运行,FXCop测试以及一系列其他产品.
我还建议检查Team City作为一个选项,因为它有一个免费版本,据报道报告和设置更简单(它看起来对我很好).在达到付费窗口之前,它确实有大约20个团队成员/项目的限制.
也就是说,我们从CCNET开始,已经增加了几个太大的产品,无法在免费版本上看到Team City,并对我们的产品非常满意.
有助于CCNET的功能包括:
基于XML的配置 - 您通常可以复制和粘贴大部分所需内容.
或多或少,您将能够将您的树木脚本作为构建脚本插入,并将CCNET指向此处作为运行编译的可执行任务.
大量文档,非常容易设置nunit,ncover,fxcop等.
任务栏应用程序可以随时让您了解项目的状态,还可以触发电子邮件或使用相同的信息保留RSS源.
但我肯定会在每次签到时都运行CI构建 - 大多数情况下会在签入之前运行单元测试,但让CCNET服务器处理运行任何依赖于程序集的应用程序/程序集.重新登记,然后重新建立,并在每次登记时重新测试.
鉴于CCNET是免费的,并且只需要很少的时间来设置 - 我强烈建议只是去寻找它,看看它是否适合你,然后从那里扩展.
(这里有另一个帖子,我发布了几乎相同/有一些改动 - 但其他一些评论也可能有帮助!自动构建)
编辑添加:您可以轻松地为CCNET设置自己的部署方案,并且有大量的博客帖子可以提供帮助,并且电子邮件通知可以非常精细地设置,无论是在所有成功,所有失败,当它从成功变为失败等.还有内置的RSS,您甚至可以为其他系统设置自己的通知程序.
FinalBuilder确实支持电子邮件,每晚只执行FinalBuilder将为您提供夜间构建.如果你不想,你真的不需要其他软件.
您还可以使用CCNet在需要时触发构建,并让它为构建执行FinalBuilder.然后,您可以决定是否应通过电子邮件发送FinalBuilder或CCNet.
最后,FinalBuilder的服务器版本与CCNet类似,因为它是使用FinalBuilder的持续集成工具.见http://www.finalbuilder.com/finalbuilder-server.aspx
当然,CCNet的最大优势在于它是免费和开源的.