【问题标题】:CI: Hudson with .Net vs CruiseControl.Net [closed]CI:哈德森与.Net vs CruiseControl.Net [关闭]
【发布时间】:2009-02-24 17:29:16
【问题描述】:

我在一家希望集成 CI 服务器的 .net 商店工作。从我所见,Hudson 似乎是最受欢迎的选择。考虑到我们是一家仅限 .net 的商店,Hudson 会不会出现 CC.NET 不会遇到的任何障碍?

【问题讨论】:

标签: .net continuous-integration cruisecontrol.net hudson


【解决方案1】:

我想不出 Hudson 无法为我们的 C# 开发做的一件事,即使使用基于 MSTest 的测试,您现在也可以使用 the new plugin 在它们上运行和趋势图(仅在您测试 ONE 程序集时有效)或my method,它适用于多个程序集。

我想唯一会好的是生成代码覆盖率数据并报告它,不确定 CC.net 是否这样做。

此外,Hudson 似乎拥有更强大的社区支持。我从来没有听说过有人选择 CC.net 而不是 Hudson。

我们用它来

  • 部署 Windows 服务
  • 部署网络服务
  • 运行 MSTest 并显示与任何 junit 测试一样多的信息
  • 跟踪低、中、高任务
  • 趋势图警告和错误

这些事情对 Hudson 来说可能不是什么新鲜事,但我觉得有必要再次强调 Hudson 可以通过 .net 项目处理这些问题,没问题。

以下是 Hudson 支持的一些内置 .net 内容

另外,上帝禁止你使用视觉源安全,it supports that as well。我建议你看看Redsolo's article on building .net projects using Hudson

【讨论】:

  • 现在您遇到了喜欢并选择 CC.NET 的人。我孤身一人。 CC.NET 的社区很棒,我不知道 Hudson 的社区,但如果它更好,那么对你来说很好。我发现需要学习 Java 进行自定义是我的主要障碍
  • 你不需要学习java来添加构建步骤,我已经编写了批处理文件,如上面的链接所示。您也可以添加可执行文件。内置插件支持与此相比如何? wiki.hudson-ci.org/display/HUDSON/Plugins
  • 比较好,大部分功能只是在CC.NET中,不需要做额外的工作。什么不是我不需要的。我不是在抨击哈德森,它看起来还不错。我会说他们比较差异很大。不过,我可以改变基础,而不仅仅是添加插件
  • 在 CC.NET 中,您还有一个客户端应用程序(CC.NET Tray),它对查看项目的状态非常有用。最重要的是,您还可以控制 CC.NET 服务器(如强制构建等)。
  • 酷,我敢肯定 Hudson / Jenkins 有很多
【解决方案2】:

Hudson 对于初学者来说要容易得多。我们使用它来自动构建和打包 C++ Builder dll 和 exe。考虑一下!它不是 Java 也不是 C#。

【讨论】:

  • 很好,是的,你甚至可以设置 hudson 使用 jslint 进行构建,呵呵
【解决方案3】:

我对哈德逊几乎一无所知。我想说的是,由于 CC.NET 是基于 .NET 的,它往往有很多与 .NET 生态系统相关的内置和社区贡献的任务和报告:

MSBuild 视觉工作室 无盖 单元 FxCop 等等等等等等。

因此,如果您使用这些工具,则应仔细检查 Hudson“开箱即用”对它们的支持程度。此外,如果您最终不得不编写自定义插件(我已经为 CCNET 编写了一些插件),那么能够使用您用于“正常”开发的开发语言和 IDE 通常是有利的。

【讨论】:

  • 哇,你是认真的吗? Hudson 通过插件支持所有这些,除了 NCover,我认为其中一个正在开发中。无论如何,您可以将自定义构建步骤开发为可执行文件或仅运行 dos 命令,无需了解 java。
  • 为什么“你是认真的?” Jeremy 说他不认识 Hudson,他并不是说 Hudson 没有这些东西。你在问什么?
  • 误读消息,无法编辑评论
【解决方案4】:

我检查了 hudson 对 xunit 测试框架的支持,下面包含一个简短的摘要:

  • MBUnit/Gallio:有一个插件,但开发似乎不太活跃,使用它的社区也不太活跃。例如,只添加了一个issue。它在四月的报道中被报道过,尚未触及(八月)。 (Gallio 团队支持 CC.Net 的插件,他们的响应时间看起来更好)
  • MSTest:有同样的问题。问题跟踪系统中只有两个问题,平均响应延迟为 6 个月。 (看起来 CC.Net 对 mstest 有原生支持,但需要一些配置)
  • nUnit:hudson 中对 nunit 的支持似乎相当不错。开发团队的响应速度更快,报告的错误也更多(目前为 8 个)。

所以我想我要试试 CC.Net。

【讨论】:

    【解决方案5】:

    我无法理解为什么 .Net 开发人员会使用 Java CI 工具。 CruiseControl 是一个很好的以Java 为中心的工具。 这就是创建 CruiseControl.NET 的原因。 以 .NET 为中心的持续集成。

    如果您想建立一个紧密集成的系统,您将为系统编写自己的插件,以使其完全按照您的意愿行事。

    例如将您关心的所有版本信息汇总在一起,然后写出 AssemblyInfo.cs 文件以及其中的版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-17
      • 2014-04-18
      相关资源
      最近更新 更多