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

几年前我曾经使用过 FinalBuilder,我非常喜欢它,但我不确定它们是否支持夜间构建和电子邮件等功能。

有帮助吗?

解决方案

在我的工作中,我们使用 CCNET,但在签入时进行的构建超过了每晚 - 尽管它可以轻松配置为其中之一或两者。

您可以非常轻松地设置在每次签入时运行的单元测试、FXCop 测试以及许多其他产品。

我还建议检查一下 团队城市 作为一个选项,因为它有一个免费版本,并且据报道报告和设置要简单得多(对我来说确实看起来不错)。在达到付费窗口之前,它确实有大约 20 名团队成员/项目的限制。

也就是说,我们从 CCNET 开始,并开发了几种太大的产品,无法在免费版本上查看 Team City,并且对我们拥有的产品非常满意。

有助于 CCNET 的功能包括:

  • 基于 XML 的配置 - 您通常可以复制并粘贴大部分您需要的内容。
  • 或多或少,您将能够将 treesurgeon 脚本作为构建脚本插入,并将 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最大的优势就是免费、开源。

虽然很贵,但是还是强烈推荐 视觉构建. 。它可以与 MSBuild 和 Visual Basic 等旧工具一起使用。它是可编写脚本的,可以执行从制作安装程序到简单的持续集成的所有操作。

我们刚刚开始使用 哈德逊 在办公室这里。

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

安装后几分钟内我就可以启动并运行了。这里的所有其他开发人员都喜欢它。

总而言之,它是持续集成或夜间构建的非常优雅的解决方案。

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

伦特布卢特

支持各种源代码控制和构建系统。非常可定制。开源。设置需要一些时间,但还不算太糟糕。

建造机器人 是开源的而且也非常强大。你应该看看它。

级联 支持对提交到存储库的每个更改进行构建。

我不建议只进行夜间构建——这是一个相当长的窗口,构建中断可能会在报告之前发生。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top