代码之家  ›  专栏  ›  技术社区  ›  Alfred B. Thordarson

什么工具可用于夜间自动生成?

  •  19
  • Alfred B. Thordarson  · 技术社区  · 16 年前

    我公司正在开发一些Visual Studio解决方案/项目,现在需要一个自动夜间生成方案。这种方案需要能够检查SVN的最新版本、构建解决方案、创建适当的可下载文件(包括安装程序、文档等)、在出现错误时向开发人员发送电子邮件以及其他各种漂亮的事情。我应该使用什么工具或工具集?

    几年前我曾经使用finalbuilder,我非常喜欢它,但我不确定它们是否支持诸如夜间构建和电子邮件之类的功能。

    8 回复  |  直到 14 年前
        1
  •  14
  •   Community vonPryz    7 年前

    在我的工作中,我们使用ccnet,但是在签入的基础上构建了比夜间更多的功能——尽管它很容易配置为两者之一或两者兼而有之。

    您可以很容易地设置单元测试,以便在每次签入、fxcop测试和一系列其他产品上运行。

    我也建议退房 Team City 作为一种选择,因为它有一个免费的版本,而且报告和设置据报道要简单得多(它看起来确实不错)。在达到付费窗口之前,它确实有大约20个团队成员/项目的限制。

    也就是说,我们从ccnet开始,已经开发了一些产品,这些产品太大了,无法在免费版本上查看TeamCity,我们对我们的产品非常满意。

    有助于ccnet的功能包括:

    • 基于XML的配置-您通常可以复制和粘贴您需要的大部分内容。
    • 或多或少,您可以将treesurgeon脚本作为构建脚本插入,并将ccnet作为可执行任务指向该脚本以运行编译。
    • 大量的文档和非常容易设置的nunit,ncover,fxcop等。
    • 任务栏应用程序,它可以让你随时知道你的项目的状态,它也可以启动一封电子邮件或保持一个具有相同信息的RSS提要。

    但是我肯定会在每次签入的基础上运行一个CI构建——大多数情况下,在签入之前都会运行单元测试,但是让ccnet服务器处理运行任何依赖于我们要签入的程序集的应用程序/程序集,然后重新构建它们,并在每次签入时重新测试它们。

    考虑到ccnet是免费的,建立起来花费的时间非常少,我强烈建议您只需要去做,看看它是否适合您,然后从那里扩展。

    (这里还有另一条线索,我发布了几乎相同的内容/做了一些修改-但其他一些评论也可能有帮助! Automated Builds )

    编辑添加:你可以很容易地为ccnet设置你自己的部署方案,并且有一吨的博客文章可以帮助你,电子邮件通知可以非常精细地设置,无论是在所有成功,所有失败,当它从成功变为失败时,等等。还有内置的rss,你甚至可以设置你自己的通知。或其他系统。

        2
  •  6
  •   Lars Truijens    16 年前

    finalbuilder支持电子邮件,每晚只执行finalbuilder就可以为您提供夜间构建。如果你不想的话,你真的不需要其他软件。

    您还可以使用ccnet在需要时触发一个构建,并让它为该构建执行finalbuilder。然后您可以决定finalbuilder或ccnet是否应该发送电子邮件。

    最后,finalbuilder有一个类似ccnet的服务器版本,因为它是一个使用finalbuilder的持续集成工具。见 http://www.finalbuilder.com/finalbuilder-server.aspx

    当然,ccnet最大的优势是它是免费和开源的。

        3
  •  3
  •   Kris Erickson    16 年前

    虽然它很贵,但我强烈推荐 Visual Build . 它与msbuild以及VisualBasic等旧工具一起工作。它是可脚本化的,可以完成从安装程序到简单的连续集成的所有工作。

        4
  •  3
  •   Julien Nephtali    16 年前

    我们刚开始使用 Hudson 在办公室。

    它是免费和开源的,它有一个非常用户友好的用户界面。此外,还有大量的选项和插件可用。

    安装后几分钟,我就开始运行了。所有其他的开发者都喜欢它。

    总之,对于持续集成或夜间构建来说,它是一个非常优雅的解决方案。

        5
  •  1
  •   Liedman    16 年前

    我最近开始使用CruiseControl.net( http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET )它工作得相当好,尽管配置可能更容易。CruiseControl.net是免费的、开源的,并且似乎与大多数标准工具集成在一起,尽管我个人只将它与cvs、svn、nunit和msbuild结合使用。

        6
  •  1
  •   Dusty Campbell    16 年前

    Luntbuild

    支持各种源代码管理和构建系统。非常可定制。开放源代码。安装需要一些时间,但并不太可怕。

        7
  •  1
  •   Adrien Haxaire    14 年前

    Buildbot 是开源的,也非常强大。你应该看看。

        8
  •  0
  •   Matt Craighead    16 年前

    Cascade 支持在提交给存储库的每个更改上进行构建。

    我不建议只进行夜间构建——这是一个很长的窗口,在报告构建中断之前,它可能会滑入。