我目前使用 颠覆 我的版本控制通过 安克SVN 和视觉工作室。我最近开始使用 树木外科医生 建立我的项目。它使用自动创建构建脚本 南安特. 。我希望能够在 SVN 中自动构建定期项目。我喜欢在每次签入时进行构建的想法,但夜间构建也可以。我会提供更多信息或更多我的想法,但我想我会保持开放状态,看看 SO 社区会说什么。

有帮助吗?

解决方案

你可以使用 CruiseControl.Net, ,它可以在每次签入、夜间构建或您想要的任何方式上进行构建。谷歌快速搜索表明 CC.Net 有一些 与 NAnt 集成 已经。

其他提示

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

我建议您也这样做,无论是您自己还是在团队内,因为您可以非常轻松地设置单元测试以在每次签入、FXCop 测试以及许多其他产品上运行。

如果只有你在一个人的团队中,并且你没有太多的项目正在进行,我还建议你检查一下 团队城市 作为一个选项,因为它有一个免费版本,并且据报道报告和设置要简单得多(对我来说确实看起来不错)。

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

有助于 CCNET 的功能包括:

  • 基于 XML 的配置 - 您通常可以复制并粘贴大部分您需要的内容。
  • 或多或少,您将能够将 treesurgeon 脚本作为构建脚本插入,并将 CCNET 指向该脚本作为可执行任务来运行编译。
  • 有很多文档并且非常容易设置 nunit、ncover、fxcop 等。
  • 任务栏应用程序可以让您随时了解项目的状态,它还可以发送电子邮件或保留包含相同信息的 RSS 提要。

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

鉴于它是免费的并且只需很少的时间即可设置 - 我强烈建议您使用它。

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

还有 德拉科网, ,它的灵感来自 CruiseControl.NET,并且更加轻量级。看到这个 文章 有关这两种持续集成解决方案的更多信息。

我建议 团队城市. :)

我非常喜欢 构建机器人. 。它是开源的,用Python编写,非常容易部署、开发和维护。它可以轻松地与 svn 和大多数其他源代码控制系统集成。您的所有构建脚本都是 python 代码,因此您的核心 Build Master 脚本可以执行的操作具有很大的灵活性。当然,您也可以使用它来触发任何其他类型的脚本或批处理文件。

您可以查看一些正在运行的构建机器人示例:

您可能需要考虑 CI-Factory。它是一个持续集成环境构建器,使用 CruiseControl.NET 和十几个其他工具。这里有一个很棒的截屏视频: http://www.dnrtv.com/default.aspx?showID=64

我们将 CruiseControl.NET 与 NAnt 和 MsBuild 一起用于我们的构建服务器。我们对其进行了配置,以便每次签入代码时都会进行构建,并且每晚都会进行构建。

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

我使用 FinalBuilder 已有几年了。FinalBuilder 的优点在于它不仅仅可以进行构建。我将其设置为对结果进行一些分析、对构建进行存档、发送错误日志等。最新版本有一个网络界面,允许非专家通过单击来启动构建。

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