我目前通过subversion和Visual Studio使用AhnkSVN进行版本控制。我最近开始使用Tree Surgeon来设置我的项目。它使用NAnt自动创建构建脚本。我希望能够在SVN中定期自动构建项目。我喜欢在每次检查时都进行构建的想法,但是夜间构建也会起作用。我会提供更多信息或更多我的想法,但我想我会保持开放,看看SO社区有什么要说的。
答案 0 :(得分:5)
您可以使用CruiseControl.Net,它可以在每次签入时进行构建,每晚构建,或者您想要这样做。快速谷歌搜索表明CC.Net已经有一些integration with NAnt。
答案 1 :(得分:4)
正如其他人所提到的,我们在这里使用CCNET,我们通常不会在夜间构建中使用CCNET,而是使用持续集成策略(每次签到)。
我建议你做同样的事情,无论是你自己还是团队,因为你可以非常轻松地设置单元测试,以便在每次检查时运行,FXCop测试以及一系列其他产品。
如果只是你在一个人的团队中,并且你在旅途中没有太多的项目,我还建议你查看Team City作为一个选项,因为它有一个免费版本,并且据报道,报告和设置更加简单(对我来说确实很好看)。
也就是说,我们从CCNET开始,已经增加了几个太大的产品,无法在免费版本上看到Team City,并对我们的产品非常满意。
有助于CCNET的功能包括:
但我肯定会在每次签到时运行CI构建 - 大多数情况下会在签入之前运行单元测试,但让CCNET服务器处理运行任何依赖于它的应用程序/程序集我们正在检查装配,然后重新构建,并在每次登记时重新测试。
鉴于它是免费的,并且只需要很少的时间来设置 - 我强烈建议你去寻找它。
答案 2 :(得分:3)
在我看来,CruiseControl.NET是您的最佳选择。如果需要,可以很容易地使用自定义任务进行扩展,开箱即用兼容NAnt和MSBuild,并且非常积极地维护。
答案 3 :(得分:1)
答案 4 :(得分:1)
我建议TeamCity。 :)
答案 5 :(得分:1)
我非常喜欢buildbot。它是开源的,用python编写,非常易于部署,开发和维护。它可以轻松地与svn和大多数其他源控制系统集成。所有构建脚本都是python代码,因此您在核心Build Master脚本可以执行的操作方面具有很大的灵活性。您当然也可以使用它来启动任何其他类型的脚本或批处理文件。
您可以查看一些运行中的buildbot示例:
答案 6 :(得分:0)
您可能需要考虑CI-Factory。它是一个使用CruiseControl.NET和其他十几种工具的持续集成环境构建器。这里有一个很棒的截屏视频:http://www.dnrtv.com/default.aspx?showID=64
答案 7 :(得分:0)
我们将CruiseControl.NET与NAnt和MsBuild一起用于构建服务器。我们对它进行了配置,以便每次检查代码时都会进行构建,以及每晚构建。
答案 8 :(得分:0)
Cascade支持对提交到存储库的每个更改进行构建。
答案 9 :(得分:0)
我已经使用FinalBuilder几年了。 FinalBuilder的优势在于它不仅仅是构建。我有设置对结果进行一些分析,制作构建的档案,发送错误日志等。最新版本有一个Web界面,允许专家不用点击一下构建。