CI服务器的比较?

我正在寻找不同的持续集成 (CI)服务器(特别是.NET)的比较,并找不到任何。

因此,我想知道您对可用的不同解决scheme有什么看法,有哪些优缺点,托pipe要求是什么以及为什么CI Server XY是您所select的服务器。

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

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

兴趣点是:

  • configuration(简单,灵活)
  • 与SCM集成(特别是像git或hg的DSVC)
  • 与构build系统集成(MSBuild,NAnt,Rake)
  • 与testing框架集成
  • 与Source Anaylsis集成(Simian,NDepend,FxCop,NCover等)
  • WebInterface /仪表板
  • 基础设施要求

如果没有链接到大型CIfunctionmatrix(Web Archive)的链接,就不会有这样的问题,它列出了几乎所有的CI选项。

但是,我认为重要的是outlook你希望包含在你的CI系统中的范围。 是要build立还是要引入静态分析,跨项目依赖项,部署,functiontesting等其他元素。为了帮助完成这个规划,我创build了这个关于企业CI元素的挂图(PDF ;不需要注册)。 请不要让这个“E字”把你放下; 我的意思是超越基本快速反馈CI构build的东西。 🙂

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

没有什么帮助:

  • 比CruiseControl for .NET CI更好的吗?
  • 持续集成服务器
  • Hudson或Teamcity持续集成?
  • 您对CI服务器git支持(Windows)有什么经验?
  • 语言不可知的自动化构build和testing服务器,用于多个项目
  • 根据我的需要select正确的CI服务器。
  • Cruise与TeamCity对比CruiseControl.NET
  • CruiseControl [.NET]与TeamCity的持续集成?
  • 等等等等

编辑 :由Jonik在评论中指出,我错过了Hudson和CruiseControl的Java项目之间的区别是什么? 以及如何以及为什么build立一个C#构build机器? 。 你会发现非常有见地的答案。 换句话说,我认为你正在寻找的东西已经在Stack Overflow上了。

TeamCity有一个很好的function,允许开发人员在提交之前执行个人构build。 很有用!

CruiseControl.NET是一群中的老大,因此有点过时了视觉等等。因为它已经有一段时间了,谷歌知道如何解决你会遇到的许多问题。

由于这些原因(其中包括),我使用CruiseControl.NET在工作和TeamCity在家里,在我的开源生活:)

我是一个CruiseControl.NET用户。 我的团队在工作中使用它,并将其用于个人项目。

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

它几乎做我需要的一切。

最大的缺点:configuration有时是一种痛苦,可能需要时间。 但一旦完成,就完成了,正如另一张海报所说,我喜欢看到“成功构build”的信号,因为我知道构build本身不仅工作,而且我的单元和集成testing都成功运行。

团队基础构build是一个选项,它与Team Foundation Server的交互也非常好。 只要您获得TFS授权,它就是免费的。

我们在工作中使用哈德森。 主要的原因是,它很容易设置。 你可以直接执行战争(这是一个可执行的jar),或者在任何servlet容器上部署它。 你准备好开始了。 而且Hudson支持很多工具,通过它的插件系统可以扩展。

我们从CruiseControl.NET切换到TeamCity主要是因为configuration简单。 TeamCity也有更多的function,但主要原因是一个漂亮的Web UI比XMLconfiguration文件更易于使用。

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

CruiseControl.NET – build立起来可能有点痛苦(就像大多数CI系统一样),但值得一提的是。 我目前已经设置好在完成构build之后运行unit testing,并按需生成Wix安装程序。 丹说,它看起来有点过时,但这并不重要,因为它提供了大量易于阅读和易于阅读的信息。

一件事 – 确保你所有的开发者安装了CC Tray,运行并指向他们的构build。 在通知栏中获得“另一个成功的构build”是一种非常棒的感觉。

我们在工作中使用ccnet,对于我们的大部分需求(我们有大约50个自动构build版本)都很好,但是需要一个人进行全面的调整和修复。

如果你从头开始,请看看竹子。 我们已经研究过它,看起来确实很有希望,但是这并不能完全符合我们的需求,现在我们已经花费了太多时间在ccnet上转换到Bamboo了。

问候,

Sebastiaan

我inheritance了一个luntbuild服务器。 不是一个.NET项目的好select。 如果你发现你经常回头使用构build服务器来运行通用的命令行任务,那么有些地方是错误的。 一个好的构build服务器很好地理解了unit testing输出和msbuild任务,而不是在源代码控制系统改变时运行的不透明命令。

我正在享受迁移到Team City的乐趣。

我对CI场景相当陌生,我一直把精力集中在CruiseControl.NET上,使用NAnt和Ivy构build我的.NET项目。

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

为了我自己的利益,我会在不久的将来考察TeamCity,但是我认为CruiseControl做得很好,但是和build脚本一样好! 如果这些裤子,那么你的构build只能预期是好的。

但总而言之,CruiseControl.NET是一个很好的解决scheme,但我还没有find比较好的竞争对手。

我们对哈德森感到满意。 我没有什么可以比较的,但configuration和运行很简单。 现在它只能build立Win32 C ++项目和一个安装程序,但是我们正在移植到Linux上,它也应该可以工作。

获取Subversion版本库没有任何问题,并邮寄出警报等,我们喜欢它到目前为止。 再一次,我们对比较的经验有限。

我一直在使用CruiseControl.NET,TFS 2012和TeamCity 7.x几年,我相信TeamCity是最好的,因为它易于使用,舒适和信息丰富的用户界面和其他很酷的function,如构build依赖等等。 它只是工作,我喜欢它。