比较CI服务器?[关闭]


87

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

因此,我想知道您对可用的不同解决方案有何看法,利弊是什么,托管要求是什么,为什么CI Server XY是您选择的服务器。

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

兴趣点是:

  • 配置(简单,灵活)
  • 与SCM集成(例如git或hg等DSVC)
  • 与构建系统(MSBuild,NAnt,Rake)集成
  • 与测试框架集成
  • 与源分析(Simian,NDepend,FxCop,NCover等)集成
  • Web接口/仪表板
  • 基础设施要求

31
27个人发现此功能有用-现已关闭。SIGH
Ryan

与Thoughtworks的合作结束后,CruiseControl.NET迁移了。新网址:cruisecontrolnet.org
Jowen

2
@Ryan世界上有很多有趣的东西,不适合SO。
安迪·维森丹格

为什么不使用Azure DevOps
zwcloud

Answers:


51

没有大型CI功能矩阵(Web存档)的链接,该问题就不完整了,该列表列出了几乎所有CI选项。

但是我认为重要的是要预先考虑要在CI系统中包括的范围。它只是构建还是您要引入其他元素,例如静态分析,跨项目依赖关系,部署,功能测试等。为了帮助进行规划,我在企业CI元素上创建了此挂图(PDF ;无需注册)。请不要让“ E-word”让您失望。我的意思是除了基本的快速反馈CI构建之外的其他内容。:)

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


5
真是的 该矩阵遭受“ DeathByOverload”的困扰。基本UX指出,除非进行过滤,否则大型网格是无用的。更糟的是,没有下载(csv),并且无法直接下载降价促销。即使那样也拒绝复制到excel ...我放弃了。
sehe

4
Feature Matrix链接已死:(
Marty



1
由于robots.txt,存档页面已关闭
Sebazzz 2015年

14

1
我同意SO已经足够充满对CI服务器的比较。我不了解Teamcity和CIFactory,但就CC(.net)和Hudson而言,如今的选择非常明确;这是我的看法:stackoverflow.com/questions/604385/…。(不必担心Java在该问题上的强调; Hudson对于.NET也是很好的:stackoverflow.com/questions/616149/…
Jonik

@Jonik谢谢,很好的链接。我不知道我怎么想念他们,他们俩都提供了很好的答案和非常有用的信息。
Pascal Thivent 09年

“不了解Teamcity和CIFactory”……这就是为什么我想要一个不仅要处理x vs. y的理论比较,也就是为什么它是社区Wiki,请随时从引用的链接中提取结论。
约翰内斯·鲁道夫

@约翰内斯,很公平;我同意,大多数现有问题的范围比这更有限。但是,可能没有很多用户在这里与经验哈德森,CC的TeamCity和CIFactory的谁可以提供一个良好的比较。如果您需要CI服务器,我的建议(根据个人经验,例如stackoverflow.com/questions/140453/…的投票)将是首先尝试Hudson。
约尼克,

7

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

CruiseControl.NET是同类产品中的祖父,因此在视觉上有点过时。等等。已经存在了一段时间,Google知道如何解决许多遇到的问题。

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


嗯,CC.Net是CruiseControl的.net端口吗?
Mnementh,2009年

5

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

特别是,CruiseControl.NET使我可以贯穿整个CI过程:构建,版本更新,单元和集成测试,源或发布候选文档的归档,代码覆盖范围,甚至是在工作中部署到我们的测试系统。它是高度可定制的,可以与MSBuild和NAnt很好地兼容,甚至具有可扩展的插件体系结构。

它几乎可以满足我的所有需求。

最大的缺点:配置有时会很麻烦,并且可能需要一些时间。但是一旦完成,就完成了,正如另一位发帖人所说,我喜欢看到“成功构建”信号,因为我知道构建不仅可以正常工作,而且我的单元和集成测试都可以成功运行。


2

Team Foundation Build是一个选项,并且可以与Team Foundation Server很好地交互。只要您获得了TFS许可,它就是免费的。


我以为没有人会提到与TFS完全集成并得到Microsoft支持的TFS Build System。大多数.Net开发人员可能已经安装了TFS。
迭戈·门德斯

团队构建在TFS二千零十七分之二千零十五是配置和使用更容易,你甚至可以监控他们与实时CatLight构建监视器
托马斯·班纳特

可能有一个未提及的原因...我的2分钱:刚开始使用它的项目的工作,我们正在尝试提高自动化程度并建立交付管道...但是CI有时不时地“用光了分钟”,然后猜测一下...您需要支付几分钟的时间。这就是我在此线程上的原因……
朱莉娅

1

我们在工作中使用Hudson。主要原因是,它很容易设置。您可以直接执行war(它是一个可执行jar),也可以将其部署在任何servlet容器中。您就可以开始了。Hudson还支持许多工具,并且可以通过其插件系统进行扩展。


1

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

编辑:TeamCity的大多数任务都可以直接使用;必要时,我们使用NAnt。


1

CruiseControl.NET-设置起来有点麻烦(与大多数CI系统一样),但值得保留。我目前已设置它以在构建完成时运行单元测试,并按需生产Wix安装程序。正如Dan所说,它看起来有些过时,但这并不重要,因为它为您提供了易于获取和易于阅读的大量信息。

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


0

我们在工作中使用ccnet,可以很好地满足我们的大多数需求(我们有大约50个自动化版本),但是需要一个人进行全时的调整和修复。

如果您是从头开始,请看看Bamboo。我们已经对其进行了研究,它看起来确实很有前途,但是它并不完全符合我们的需求,因此我们在ccnet中投入了太多时间,现在无法切换到Bamboo。

问候,

塞巴斯蒂安


0

我继承了luntbuild服务器。.NET项目不是一个好的选择。如果您发现自己不停地使用构建服务器来运行常规命令行任务,则说明存在问题。一个好的构建服务器对单元测试输出和msbuild任务有很好的了解,而不是在源代码控制系统更改时要运行的不透明命令。

我很喜欢迁移到Team City。


0

我对CI场景还不是很陌生,我一直致力于使用NAnt和Ivy构建.NET项目的CruiseControl.NET。

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

为了我自己的利益,我将在不久的将来研究TeamCity,但是我认为CruiseControl做得很好,但仅与您的构建脚本一样好!如果这是裤子,那么只能期望您的身材这么好。

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


0

我们对哈德森感到满意。我没有什么可比较的,但是它很容易配置和运行。目前,它仅构建Win32 C ++项目和一个安装程序,但我们正在移植到Linux,它也应与此一起工作。

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


0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.