持续集成服务器


78

我的公司正在考虑更改连续集成服务器(我不会说我们现在拥有哪台服务器,因此无论如何我都不会歪曲您的回答:))我想知道是否有人提出建议?最佳的用户体验,维护难度等...

我们的代码全部使用Java,并且我们将ANT用作构建工具。

Answers:


89

我最近实现了哈德森服务器。以前使用过Cruise Control,我对Hudson感到非常满意,并且对它的易于设置和使用印象深刻。 与Cruise Control相比,添加新项目无比轻松。


我曾经在使用Cruise Control的地方工作过,而在其他使用Hudson的地方工作过,我再也不想回到C​​ruise Control了。它还具有一个不错的NetBeans插件,并且测试集成很棒。
18Rabbit

1
完全同意。我在工作时同时设置了CruiseControl服务器和最近的Hudson服务器,并且CruiseControl需要更多的维护。Hudson真的很高兴与之合作,并且有很多不错的插件(例如Cobertura,Emma,FindBugs,CPD等)。
Tom De Leu

2
哈德森。Cruisecontrol很痛苦,Hudson很友好。
mfx

1
Hudson非常易于安装,设置和维护。我们将其用于蚂蚁和Maven构建。
jon077

9
如果有人错过了它,哈德森将被其原始开发者分叉/重命名为詹金斯。您现在最好选择詹金斯(Jenkins),因为这个问题可能会让您信服。
Jonik

22

编辑:我们现在使用哈德森。

不久前,我研究了其中的一些要求,这些要求如下:

  • Java代码
  • 蚂蚁建造
  • Groovy构建
  • 分布式构建
  • 单片机触发集成
  • http报告
  • SMTP报告

持续集成功能矩阵是一个伟大的地方开始。

我最终选择了AnthillPro并成功使用了它,只是摸索了我们能做的并希望将其用于其中。


公开:该矩阵是由Cruise Control的人员编写的。
Pablo Fernandez

感谢您发布CI矩阵链接-优秀的资源,即使它是由巡航/巡航控制人员提供的。
朱莉


1
+1用于链接到矩阵。每当我不得不重新审视此问题时,都会使用它。
加里德

我们使用了Hudson,然后切换到AHP,因为它支持部署。它肯定比Hudson复杂,但也更加灵活和可定制。
布赖恩·凯利

19

当我们查看时,Jetbrains TeamCity看起来真的很棒。它是基于Java的,因此您的teamn应该很容易扩展,并且可以进行分布式构建等。您可以评估一个免费版本。


6
澄清-Jetbrains TeamCity Professional免费提供多达20种构建配置。没有时间限制,它不是评估版。
Bevan

12

我也一直在研究这个问题,尽管我最初是在研究CruiseControl的,但我听到了有关Hudson的好消息,因此决定尝试一下。入门(只需下载并运行)如此简单,并且通过GUI进行配置非常容易,我对此完全被震撼了,因此您无需摆弄XML配置文件。

在几分钟之内,我完成了我的第一个Ant构建。我现在将它作为Windows服务在服务器上运行,该服务器在办公室和通过VPN都可以24/7使用。升级就像下载新的war文件并重新启动一样简单。

对junit报告的支持是开箱即用的。安装其他插件也非常容易,我为Trac,Cobertura,FindBugs和PMD添加了插件。代码和测试质量正在提高,因为看到趋势图不断增长非常令人满意!

现在,我用它来管理测试和生产环境的所有构建。由于我管理多个Web应用程序,这使我有更多时间花在实际编程上。老实说,我不记得没有它的情况。


7

Atlassian的Bamboo看起来不错,但是我没有任何经验。看起来在功能上与CruiseTeamCity相似。


Bamboo还算不错(尽管我想如果您的第一个CI工具是CruiseControl,那么一切都还算不错)。它几乎无法处理大量项目(例如200多个项目),但是它的性能正在不断提高。
罗曼·斯塔科夫

5

像这里的其他人一样,我真的很爱哈德森

它非常容易安装(只是一个部署的战争文件),配置和使用。此外,它提供了许多其他系统上并不总是可用的功能(构建矩阵,主从服务器,服务器或项目级别的安全性...)

现在,现有插件的数量非常重要,并且创建自己的插件并不难...

最后,此应用程序的发展非常迅速:我们目前处于第257个发行版,并且自一年以来,他们发布了100多个发行版!

对于法国人,我写了一个相当完整的指南,在这里使用哈德森。


5

如果您使用Atlassian员工软件(例如Jira,Clover等),Bamboo是您的理想选择。

我们使用了几个月,我可以推荐它。物有所值。


Bamboo在Atlassian商店肯定对我们有用。但是,如果您曾经走过Maven路线,请注意,哈德逊(Hadson)具有内置的某些魔术,而Bamboo仍然没有(jira.atlassian.com/browse/BAM-230)。
Brian Laframboise

我们还没有蚂蚁。所以这不是我们的情况。我们遇到过的竹子的另一个问题:它仍然不能与SVN 1.5 100%兼容(不能与SASL加密一起使用)。
FoxyBOA

5

如果您还没有完全在哈德森公司出售产品,那么一键式试驾应该会改变您的想法。

点击下面:

https://hudson.dev.java.net/hudson.jnlp

这将通过Java Web Start启动Hudson进行测试。一旦启动,请访问http:// localhost:8080 /进入仪表板。您对该Hudson所做的任何配置都将存储在〜/ .hudson中,因此您的数据将通过Hudson进程重启而得以保留。

如果您使用的是相当标准的工具,例如svn和ant / maven-您应该在5分钟内建立并运行。不同的工具,可能需要20分钟!

在这里查看介绍:

http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson


4

竹子很棒;如果您有现金,我建议您这样做。巡航控制值得它的价格;我从来没有能够可靠地发现已经进行了源构建并进行了构建,也从来没有能够手动进行构建。界面和配置非常复杂。


3

我们使用巡航控制。它具有我们想要的所有功能,并且很容易设置。带有ANT和SVN的集成很好。

缺点:每隔一段时间,我们必须重新启动进程或计算机,因为它停止为夜间构建发出消息。不知道那是什么,但这很烦人。


是的,我在Cruise Control上也经历过类似的事情。我切换到哈德森。到现在为止还挺好。
Chinnery

我也看到了CC的这种不稳定。这就是我公司选择Luntbuild的原因之一。
pkaeding

我发现CC和Hudson都在cmd窗口中标记(选择)了文本,那么这些工具可能无法写入其输出并似乎停止了。
格雷格·多姆詹

3

与Java世界一样,有开源世界和商业世界。

我们已经看到各种产品的很好的报道。

Hudson:我不知道可以像这样评估那样简单的其他Java服务器产品。java -jar hudson.war-比这容易得多吗?您不仅可以在Windows上使用它,还可以在所有常用的Java平台上使用它。支持Ant,Maven和许多其他构建平台。

Hudson最好的是插件功能。它几乎不断地被开发。您需要一个功能,并且很快就可以完成。

我通常不喜欢听起来像是一个狂热的粉丝,但是这个应用程序/开发人员/社区肯定会让我印象深刻。

BR,
〜A




2

我想我将是第一个提到Luntbuild的人。除了不太吸引人的名称之外,它还是一个出色的CI服务器。

  • 超级容易设置。
  • 用于创建/管理项目和用户的Web UI
  • 支持很多版本控制系统(我已将其与CVS,SVN和StarTeam一起使用)
  • 漂亮的远程API
  • 相对较高的访问控制粒度(因此,您可以授予客户端访问其内部版本的权限,而不授予其内部版本的访问权限)
  • 还有更多。

观看现场演示。帐户/密码演示/演示

注意:现场演示已经发布了几个版本。


我听说不利的一面是缺少单元测试支持。请参阅此处:stackoverflow.com/questions/672/… 我想知道您是否遇到相同的问题?
sivabudh

我没有遇到相同的问题。例如,ANT能够执行单元测试,并且有许多具有ANT任务的单元测试解析器。然后Lunt可以在Lunt项目中调用任何这些ANT目标。但是,我同意用于结果解析的OGNL表达式可能很复杂。就个人而言,我很少发现需要这样做。
Liggy

1

我们使用Cruise Control取得了不错的效果。此后,我们开始在所有项目中将Maven用作构建工具。随之而来的是将其转移到Hudson担任CI,这非常好。如果您认为将来可能会改用Maven,则建议您这样做。我认为,尽管Maven包装器可能是按顺序排列的,但哈德森甚至可以用来调用Ant任务。

http://hudson-ci.org/



1

我经营的一个组织(openqa.org)曾经一次或几乎全部使用过。在易于设置方面,请选择TeamCity或Bamboo。但就整体可靠性而言,您可能需要考虑一下哈德森。我真的很喜欢JetBrains,但是我们发现TeamCity一段时间后会进入怪异状态,这导致我们的构建非常不可靠。太糟糕了,因为我爱IDEA!


自版本3起,我对TeamCity并不陌生。但是也许我的构建太小了。
史蒂夫·麦克劳德

1

我们一直在使用Automated Build Studio,对此非常满意。这是一个Windows应用程序,因此您被困在Windows构建服务器上,但是从好的方面来说,它非常容易设置,维护和使用。您可以通过点击鼠标从组件构建流程,如果没有一个组件可以满足您的需要,则可以使用脚本。


1

在我使用过的少数工具中,Buildbot是最强大,最灵活的。不过,如果这对您来说不是最漂亮的话。


1

我已经管理了Bamboo和Hudson,并且会推荐Hudson。

它们都很棒,但是Hudson具有更好的报告支持,例如在Hudson内部发布覆盖报告等非常容易。

在不久的将来,这种情况可能会改变,但是尽管Bamboo集成了JIRA等功能,并且它的统计数据表明,Hudson为便于使用和第三方支持,无论美元金额如何都更好(它是免费的,Bamboo不是) 。



0

我将Continuum用于我的持续集成服务器。除了我要雇用一位在上一次工作中使用过的开发经理外,没有其他原因,因此选择至少我们中一个有经验的人似乎很有意义。

在选择Continuum之前,我有一个初级开发人员花了两个星期的时间来尝试使CruiseControl正常运行。但是,我们首先运行了Continuum 1.0。



0

我们使用StarTeam,并且在Hudson和CruiseControl.NET之间,CC.NET与StarTeam集成时存在一些错误。似乎无法识别我们在配置文件中定义的工作空间。


0

去年,在美国的一次会议上,我以一个1个小时的演讲首次听说了Cruise Control .net,在我回到平原的路上,我决定为我们的公司实施一个小型POC,并在不到5个小时的时间内成功完成了该工作(包括我本可以完成的所有学习)。

我从那时开始使用它,我必须说我对结果非常满意,并且操作简便。存在一些缺点(例如,虽然可以监视多个服务器,但跨服务器规模缺乏任务分配),我发现了一个错误一种实现,因为它是开源的,所以我可以很快修复它(很大的优势)-我在Codeplex中创建了一个小[project] [1]来包含我的修复,然后再将它们提交给社区以作为签入我强烈建议您看一下这个平台,如果您可以说出自己真正的需求,那也很好。

[1]:http//www.codeplex.com/DavidovitzCCE项目



0

为什么不使用托管CI服务,那么您就不必担心维护,成本等问题。

MikeCI是一项托管CI服务,可将您的构建托管在Amazon EC2中,每月仅需10美元,比维护自己的CI服务器便宜得多。

搏一搏。


考虑到在这种情况下,您将把软件交给第三方。您可能不允许这样做。即使您被允许,如果真的值得,我也会有一个不错的眼神。将您的软件提供给第三方是一件非常糟糕的事情,并且您大部分时间都不希望这样做。不是为了节省几块钱。如果不打算开源,那么在大多数情况下,我都不想将软件提供给第三方,而这会让我花费数千美元。
Fabian Barney 2012年


0

CruiseControl.NET在Windows机器上比原始的基于Java的机器上有效得多。特别是在专用构建服务器尚不可用时。


比什么更有效?
EFraim 2010年

然后是原始的Java CruiseControl。我将修复响应。
奥列格·希林

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.