自动构建

时间:2008-08-31 02:09:50

标签: svn build-automation nant

我目前通过subversion和Visual Studio使用AhnkSVN进行版本控制。我最近开始使用Tree Surgeon来设置我的项目。它使用NAnt自动创建构建脚本。我希望能够在SVN中定期自动构建项目。我喜欢在每次检查时都进行构建的想法,但是夜间构建也会起作用。我会提供更多信息或更多我的想法,但我想我会保持开放,看看SO社区有什么要说的。

10 个答案:

答案 0 :(得分:5)

您可以使用CruiseControl.Net,它可以在每次签入时进行构建,每晚构建,或者您想要这样做。快速谷歌搜索表明CC.Net已经有一些integration with NAnt

答案 1 :(得分:4)

正如其他人所提到的,我们在这里使用CCNET,我们通常不会在夜间构建中使用CCNET,而是使用持续集成策略(每次签到)。

我建议你做同样的事情,无论是你自己还是团队,因为你可以非常轻松地设置单元测试,以便在每次检查时运行,FXCop测试以及一系列其他产品。

如果只是你在一个人的团队中,并且你在旅途中没有太多的项目,我还建议你查看Team City作为一个选项,因为它有一个免费版本,并且据报道,报告和设置更加简单(对我来说确实很好看)。

也就是说,我们从CCNET开始,已经增加了几个太大的产品,无法在免费版本上看到Team City,并对我们的产品非常满意。

有助于CCNET的功能包括:

  • 基于XML的配置 - 您通常可以复制并粘贴大部分所需内容。
  • 或多或少,您可以将您的树木脚本作为构建脚本插入,并将CCNET指向此处作为执行编译的可执行任务。
  • 很多文档,很容易设置nunit,ncover,fxcop等。
  • 任务栏应用程序可让您随时了解项目的状态,还可以发送电子邮件或使用相同的信息保留RSS源。

但我肯定会在每次签到时运行CI构建 - 大多数情况下会在签入之前运行单元测试,但让CCNET服务器处理运行任何依赖于它的应用程序/程序集我们正在检查装配,然后重新构建,并在每次登记时重新测试。

鉴于它是免费的,并且只需要很少的时间来设置 - 我强烈建议你去寻找它。

答案 2 :(得分:3)

在我看来,CruiseControl.NET是您的最佳选择。如果需要,可以很容易地使用自定义任务进行扩展,开箱即用兼容NAnt和MSBuild,并且非常积极地维护。

答案 3 :(得分:1)

还有Draco.NET,其灵感来自CruiseControl.NET,并且更轻巧。有关持续集成解决方案的更多信息,请参阅此article

答案 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界面,允许专家不用点击一下构建。