.net - CI服务器的比较?

我正在寻找不同的比较持续集成(CI)服务器(尤其是聚焦在.NET上)找不到任何东西。

因此,我想知道你对此的看法可用的解决方案有哪些,优点和缺点是什么,什么是托管要求以及CI服务器XY的原因您选择的服务器。

我对你的想法感兴趣(随意评论其他人):

  • 哈德森
  • 巡航控制
  • CruiseControl.NET
  • TeamCity的
  • CIFactory(使用CruiseControl.NET)

兴趣点是:

  • 配置(简单,灵活)
  • 与SCM集成(特别是像git或hg一样的DSVC)
  • 与构建系统集成(MSBuild,NAnt,Rake)
  • 与测试框架集成
  • 与Source Anaylsis集成(Simian,NDepend,FxCop,NCover等)
  • WebInterface/仪表板
  • 基础设施要求
13个解决方案
51 votes

如果没有指向大型CI功能矩阵(Web存档)的链接,就不会有这样的问题,因为它只列出了每个CI选项。

但我认为,展望您希望在CI系统中包含的内容非常重要。 它是否只是构建或者您将引入其他元素,如静态分析,跨项目依赖,部署,功能测试等。为了帮助进行规划,我在企业CI元素上创建了这个挂图(PDF ;无需注册)。 请不要让“E-word”让你失望; 我只是指基本的快速反馈CI构建之外的东西。:)

它不是特定于工具的,但列出了您在规划/评估阶段可能考虑的各种实践。

Jeffrey Fredrick answered 2019-09-10T20:00:05Z
14 votes

没有什么有用的:

  • 什么比CruiseControl for .NET CI更好?
  • 持续集成服务器
  • Hudson或Teamcity持续整合?
  • 您对CI服务器git支持(Windows)的体验是什么?
  • 与多个项目无关的语言自动构建和测试服务器
  • 根据我的需要选择正确的CI服务器。
  • Cruise与TeamCity和CruiseControl.NET
  • CruiseControl [.NET]与TeamCity进行持续集成?
  • 等等等

编辑:Jonik在评论中指出,我错过了Hudson和CruiseControl对Java项目的区别是什么? 以及如何以及为什么要设置C#构建机器? 你会找到非常有见地的答案。 换句话说,我认为您正在寻找的所有内容都已经在Stack Overflow上。

Pascal Thivent answered 2019-09-10T20:01:35Z
7 votes

TeamCity有一个很棒的功能,允许开发人员在提交之前执行个人构建。 很有用!

CruiseControl.NET是这群人的爷爷,因此在视觉上有点过时等等。由于它已经存在了一段时间,谷歌知道如何修复你将遇到的许多问题。

出于这些原因(以及其他原因),我在工作中使用CruiseControl.NET,在家中和开源生活中使用TeamCity :)

Daniel Elliott answered 2019-09-10T20:02:13Z
5 votes

我一直是CruiseControl.NET用户。 我的团队在工作中使用它,我在家里用它来进行个人项目。

特别是,CruiseControl.NET允许我运行整个CI过程:构建,版本更新,单元和集成测试,源或候选版本的存档,代码覆盖,甚至部署到我们的工作测试系统。 它具有高度可定制性,适用于MSBuild和NAnt,甚至还具有可扩展的插件架构。

它几乎可以满足我的一切需求。

最大的缺点:配置有时是一种痛苦,而且需要时间。 但是一旦完成,它已经完成了,正如另一张海报所说,我喜欢看到“成功构建”信号,因为我知道不仅构建本身有效,而且我的单元和集成测试都成功运行。

scottmarlowe answered 2019-09-10T20:02:57Z
2 votes

Team Foundation Build是一个选项,它与Team Foundation Server的交互非常好。 只要您获得TFS许可,它就是免费的。

The Matt answered 2019-09-10T20:03:21Z
1 votes

我们在工作中使用哈德森。 主要原因是,它很容易设置。 您可以直接执行war(它是可执行jar)或在任何servlet容器中部署它。 你已经准备好开始了。 Hudson也支持许多工具,并且可以通过它的插件系统进行扩展。

Mnementh answered 2019-09-10T20:03:45Z
1 votes

我们从CruiseControl.NET切换到TeamCity主要是因为配置简单。 TeamCity还有更多功能,但主要原因是一个漂亮的Web UI比XML配置文件更易于使用。

编辑:大多数任务TeamCity将开箱即用; 必要时我们使用NAnt。

TrueWill answered 2019-09-10T20:04:15Z
1 votes

CruiseControl.NET - 设置起来可能有点痛苦(大多数CI系统也是如此),但值得坚持不懈。 我目前已将其设置为在构建完成时运行单元测试,并按需生成Wix安装程序。 正如丹所说,它看起来有点陈旧,但这并不重要,因为它为您提供了大量易于阅读和易于阅读的信息。

一件事 - 确保所有开发人员都安装了CC Tray,并运行并指向他们的构建。 在通知栏中获得“另一个成功构建”是一种很棒的感觉。

Pete OHanlon answered 2019-09-10T20:04:45Z
0 votes

我们在工作中使用ccnet,这对我们的大多数需求都很好(我们有大约50个自动构建),但它需要一个人进行全时调整和修复。

如果你是从头开始,请看看Bamboo。 我们已经对它进行了调查,它看起来很有前景,但它并不完全符合我们的需求,我们已经花了太多时间在ccnet上切换到Bamboo。

问候,

Sebastiaan

Sebastiaan M answered 2019-09-10T20:05:28Z
0 votes

我继承了一个luntbuild服务器。 对于.NET项目来说不是一个好的选择。 如果您发现自己不断使用构建服务器来运行通用命令行任务,那么就会出现问题。 一个好的构建服务器对单元测试输出和msbuild任务有很好的理解,因为它不仅仅是在源控制系统发生变化时运行的不透明命令。

我很乐意转移到Team City。

MatthewMartin answered 2019-09-10T20:05:59Z
0 votes

我对CI场景很陌生,我一直专注于CruiseControl.NET,使用NAnt和Ivy来构建我的.NET项目。

我发现CruiseControl.NET非常适合许多其他工具,例如NCover / NUnit /等。 他们都插入了这个并将结果集成到一个组合的构建过程中。

我会在不久的将来为了自己的兴趣调查TeamCity,但我认为CruiseControl做得很好,但只有你的构建脚本一样好! 如果这些是裤子,那么你的构建只能是那么好。

但总的来说,CruiseControl.NET是一个很好的解决方案,但我还没有发现竞争对手有多好。

Brett Rigby answered 2019-09-10T20:06:43Z
0 votes

我们对哈德森很满意。 我没有任何东西可以比较,但配置和运行很简单。 现在它只构建Win32 C ++项目和安装程序,但我们正在移植到Linux,它也应该使用它。

获取Subversion存储库没有任何问题,并发出警报等。我们喜欢它到目前为止。 同样,我们在比较方面的经验有限。

Peter Mortensen answered 2019-09-10T20:07:13Z
0 votes

我已经使用CruiseControl.NET,TFS 2012和TeamCity 7.x多年了,我相信TeamCity是最好的,因为它易于使用,舒适且信息丰富的UI和其他很酷的功能,如构建依赖性等等。 它只是有效,我喜欢它。

Alon Amsalem answered 2019-09-10T20:07:36Z
translate from https://stackoverflow.com:/questions/1438390/comparison-of-ci-servers