持续集成服务器

时间:2008-09-26 16:11:06

标签: java continuous-integration

我的公司正在考虑更换持续集成服务器(我不会说我们现在有哪一个,所以我不会反对你的反应:))我想知道是否有人有任何建议?最佳用户体验,维护难度等......

我们的代码都在java中,我们使用ANT作为构建工具。

30 个答案:

答案 0 :(得分:89)

我最近实施了一个Hudson服务器。之前使用过Cruise Control,我对Hudson非常满意,并且对其易于设置和使用非常满意。添加新项目比使用Cruise Control更容易。

答案 1 :(得分:22)

编辑:我们现在使用Hudson。

前段时间我查看了一堆具有以下要求的内容:

  • Java代码
  • Ant build
  • Groovy构建
  • 分布式构建
  • SCM触发器集成
  • http报道
  • smtp报告

Continuous Integration Feature Matrix是一个很好的起点。

我最终选择AnthillPro并成功使用它,只是抓住了我们能够做到的表面并希望将其用于。

答案 2 :(得分:19)

当我们看着它时,Jetbrains TeamCity看起来非常好。它是基于java的,所以应该很容易让你的teamn扩展,并且可以做分布式构建等...有一个你可以评估的免费版本。

答案 3 :(得分:12)

我也一直在研究这个问题,虽然我最初看的是CruiseControl,但我听到了关于 Hudson 的好消息,并决定尝试一下。我完全被开始(只是下载和运行)的简单方式所震惊,并且配置是通过GUI完成的,所以没有摆弄XML配置文件。

几分钟后我就完成了我的第一个Ant构建。我现在将它作为Windows服务在服务器上运行,该服务器在办公室和VPN中全天候可用。升级就像下载新的war文件并重新启动一样简单。

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

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

答案 4 :(得分:7)

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

答案 5 :(得分:5)

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

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

答案 6 :(得分:5)

如果您没有在Hudson上完全售出,则单击测试驱动器应该改变主意。

点击下方:

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

答案 7 :(得分:5)

和其他人一样,我非常喜欢Hudson

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

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

要完成,这个应用程序发展得非常快:我们目前正在发布第257个版本,他们自一年以来发布了100多个版本!

对于法国人来说,我写了一篇非常完整的指南来使用Hudson here

答案 8 :(得分:4)

竹子很棒;如果你有现金,我建议你这样做。 Cruise Control值得它的价格;我从来没有能够让它可靠地发现源更改已经完成并构建,也没有能够让它手动构建。界面和配置非常复杂。

答案 9 :(得分:3)

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

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

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

关于Hudson的最好的事情是插件功能。它正在不断发展。你要求一个功能,它不会花很长时间。

我通常不喜欢听起来像个粉丝,但这个应用程序/开发者/社区确实给我留下了深刻的印象。

BR,
〜A

答案 10 :(得分:3)

我们使用Cruise Control。它具有我们想要的所有功能,并且很容易设置。与ANT和SVN整合很好。

Con:我们每隔一段时间就必须重新启动进程或机器,因为它停止发送每晚构建的消息。不确定那是什么,但它只是令人讨厌。

答案 11 :(得分:3)

关于Continuous Integration Feature Matrix的一句话:它不是由CruiseControl人员收集的,它是DamageControl项目的started on CodeHaus,当DamageControl进入休眠状态时移动到CruiseControl wiki。这些信息主要由项目/产品所有者或其粉丝维护。

答案 12 :(得分:2)

我对bamboo感到满意。在解决之前,我查看了一些免费的解决方案。

答案 13 :(得分:2)

我想我会第一个提到Luntbuild。除了不那么吸引人的名字,它还是一个伟大的 CI服务器。

  • 超级易于设置。
  • 用于创建/管理项目和用户的Web UI
  • 支持很多版本控制系统(我已经将它与CVS,SVN和StarTeam一起使用)
  • 非常漂亮的远程API
  • 访问控制的粒度相对较高(因此您可以只允许客户访问其构建版本,而不是客户端构建版本)
  • 以及更多。

查看Live demo。 帐户/密码演示/演示

注意:现场演示有几个版本。

答案 14 :(得分:1)

我运行的组织(openqa.org)曾经使用过几乎所有这些组织。在简单设置方面,请使用TeamCity或Bamboo。但就整体可靠性而言,您可能希望看看Hudson。我真的喜欢JetBrains,但我们发现TeamCity在一段时间后进入了奇怪的状态,导致我们的构建非常不可靠。太糟糕了,因为我喜欢IDEA!

答案 15 :(得分:1)

我们也使用Hudson,如果不是经济衰退,我们可能会使用Bamboo和大多数Atlassian产品(Bamboo,Crucible,Confluence)和JIRA。

答案 16 :(得分:1)

我们使用Cruise Control获得了不错的结果。从那以后,我们开始在所有项目中使用Maven构建工具。随之而来的是移居Hudson的CI非常好。如果您认为将来可能会转移到Maven,我会推荐它。我认为Hudson甚至可以用来调用Ant任务,尽管Maven包装器可能是有序的。

http://hudson-ci.org/

答案 17 :(得分:1)

我管理过Bamboo和Hudson,我会推荐Hudson。

他们都很棒,但是Hudson有更好的报告支持,例如在Hudson内部发布你的报道报道等等。

这可能会在不久的将来发生变化,但尽管Bamboo与JIRA等整合并且统计数据,Hudson为了易用性和第三方支持,无论金额多少都是更好的(它是免费的,Bamboo不是)。

答案 18 :(得分:1)

在我使用的少数几个中,Buildbot是最强大和最灵活的。但是,如果这对你很重要,那不是最漂亮的。

答案 19 :(得分:1)

Thoughtworks CruiseCruiseControl开源项目的商业后代。看起来非常好,很多功能,分布式构建等。我不知道它的可扩展性是什么。

答案 20 :(得分:1)

我们一直在使用Automated Build Studio并且对它非常满意。它是一个Windows应用程序,所以你被困在一个Windows构建服务器上,但从好的方面来说,它非常容易设置,维护和使用。您可以通过指向和单击从组件构建流程,并且如果没有任何组件满足您的需求,则可以使用脚本。

答案 21 :(得分:0)

去年在美国举行的一次会议上,我第一次听说Cruise Control .net在1小时的演讲中,在我回家的路上,我决定为我们公司实施一个小型POC并且在不到一天的时间内完成它。 5个小时(包括我本可以做的所有学习)。

我正在使用它,我必须说我对结果非常满意,并且操作简便, 存在一些缺点(例如,虽然您可以监控多个服务器,但是跨服务器规模的任务分配不足) 我在其中一个实现中找到了一个bug,因为它是一个开源我可以很快修复它(很大的优势) - 我在codeplex中创建了一个小项目[1]来包含我的修复,然后我将它们贡献给了社区作为登记入住。 我非常鼓励你看看这个平台,如果你能说出你真正需要的东西,也会很好。

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

答案 22 :(得分:0)

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

答案 23 :(得分:0)

我们正在使用Zutubi Pulse,它对我们很有用。 它非常易于使用,具有许多高级功能。

答案 24 :(得分:0)

我将Continuum用于我的持续集成服务器。除了我之外没有理由聘请一位曾在上一次工作中使用的开发经理,因此选择至少有一位我有经验的人似乎是有道理的。

在选择Continuum之前,我有一个初级开发人员花了两周时间试图让CruiseControl继续运行。但是,我们让Continuum 1.0首先运行。

答案 25 :(得分:0)

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

答案 26 :(得分:0)

查看我们的 Parabuild 。与免费工具相比,它易于设置,维护开销接近于零。这不是免费的,但你可以得到你付出的代价。

答案 27 :(得分:0)

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

MikeCI是一个hosted CI service,它在Amazon EC2中托管您的构建版本,每月只需10美元,比维护自己的CI服务器便宜得多。

试一试。

答案 28 :(得分:0)

fazend.com考虑​​免费的托管CI服务。它支持ant

答案 29 :(得分:0)

您可能也想看一下

http://www.thoughtworks-studios.com/solutions/deployment-management link text

ThoughtWorks部署管理解决方案结合了Twist(敏捷测试)和Go(发布管理)的强大功能。

  • Twist捕获要求 直接从商业用户测试
    然后支持他们的自动化 与...一起发展的长期测试 应用。
  • Go有助于发展和 IT运营团队模型发布
    处理和部署软件
    重复可靠。