持续集成服务器
我的公司正在考虑改变持续集成服务器(我不会说我们现在有哪一个,所以我不会歪曲你的反应:))我想知道有没有人有任何build议? 最好的用户体验,维护难度等等…
我们的代码全部在java中,我们使用ANT作为构build工具。
我最近实现了一个Hudson服务器。 之前使用Cruise Control, 我对Hudson非常满意,而且它的设置和使用非常方便。 添加新的项目比Cruise Control更容易。
编辑:我们现在使用哈德森。
前一段时间我看了一大堆这样的要求:
- Java代码
- Ant构build
- Groovy构build
- 分布式构build
- SCM触发器集成
- http报道
- smtp报告
持续集成functionmatrix是一个很好的开始。
我最终select了AnthillPro,并且成功地使用了它,只是在表面上琢磨我们所能做的,希望能够用到它。
Jetbrains TeamCity看起来非常棒。 这是基于Java的,所以你的团队应该很容易扩展,并可以做分布式构build等…有一个免费的版本,你可以评估。
我也一直在研究这个,虽然我最初是在看CruiseControl,但是我听到了有关Hudson的好消息,并决定尝试一下。 我完全被开始(只是下载和运行)是多么容易,configuration是通过GUI完成的,所以没有摆弄XMLconfiguration文件。
几分钟之内,我就完成了我的第一个Ant构build。 我现在把它作为一个服务器上的Windows服务运行,这个服务器在办公室和VPN都可以全天候使用。 升级就像下载新的war文件并重新启动一样简单。
支持junit报告是开箱即用的。 安装额外的插件也非常简单,我添加了Trac,Cobertura,FindBugs和PMD插件。 代码和testing质量越来越高,因为看到趋势图上升是非常令人满意的!
我现在用它来pipe理我所有的testing和生产环境。 由于我pipe理几个Web应用程序,这使我有更多时间花在实际的编程上。 我真的不记得没有它我如何pipe理。
Atlassian的竹看起来不错,但我没有任何经验。 看起来与Cruise或TeamCity的function类似。
和其他人一样,我真的很喜欢哈德森 。
安装极其简单(只是部署的战争文件),configuration和使用。 另外,它还提供了许多其他系统上不可用的function(构buildmatrix,主服务器和从服务器,服务器或项目级别的安全性…)
现有插件的数量现在非常重要,创build自己的插件并不困难…
为了完成这个应用程序的发展速度非常快:我们目前在第257版,并且自一年以来发布了100多个版本!
对法国人来说,我在这里写了一个相当完整的使用哈德森的指南。
如果您使用的是Atlassian员工软件(例如Jira,Clover等),Bamboo就是您的方式。
我们使用它几个月,我可以推荐它。 它值钱。
如果你没有完全卖哈得逊一键试驾应该改变主意。
点击下面:
https://hudson.dev.java.net/hudson.jnlp
这将通过Java Web Start启动Hudson进行testing。 一旦启动,请访问http:// localhost:8080 /进入仪表板。 你用这个Hudson进行的任何configuration都将被存储在〜/ .hudson中,所以你的数据将通过Hudson进程重新生存。
如果你使用的是相当标准的工具,比如svn和ant / maven – 你应该在5分钟内build立并运行。 不同的工具,可能需要20分钟!
在这里看到一个介绍:
竹子很棒, 如果你有现金,我会build议。 巡航控制是值得的价格; 我从来没有能够可靠地发现源代码的修改和构build,也没有能够让它手动构build。 界面和configuration非常复杂。
我们使用巡航控制 。 它具有我们想要的所有function,并且非常容易设置。 整合w / ANT和SVN是好的。
Con:每隔一段时间,我们不得不重新启动进程或机器,因为它停止发送每晚构build的消息。 不知道这是关于什么,但它只是烦人。
像往常一样与Java世界,有开源世界和商业世界。
我们已经看到了各种产品的相当不错的报道。
哈德森:我不知道一个其他的Java服务器产品是如此容易评估。 java -jar hudson.war – 它有多容易? 你不仅可以在Windows上使用它,你可以在所有常用的Java平台上使用它。 Ant,Maven和其他一些构build平台的支持。
哈德森最棒的地方就是插件function。 它正在不断发展。 你要求一个function,它不会花很长时间来完成。
我通常不喜欢听起来像一个fanboy,但这个应用程序/开发人员/社区确实给我留下了深刻的印象。
BR,
〜一
在持续集成特性matrix中只是一个词:它不是由CruiseControl人员收集的,它是由DamageControl项目在CodeHaus上启动的,当DamageControl进入hibernate状态时移动到CruiseControl维基。 这些信息主要由项目/产品所有者或粉丝维护。
我对竹子很满意。 我在解决之前先看了一些免费的解决scheme。
我想我会是第一个提到Luntbuild 。 除了不那么吸引人的名字,这是一个伟大的 CI服务器。
- 超级简单的设置。
- 用于创build/pipe理项目和用户的Web UI
- 支持大量的版本控制系统(我用CVS,SVN和StarTeam)
- 漂亮的远程API
- 访问控制的粒度比较高(所以你可以让客户只能访问他们的版本,而不能访问客户的版本)
- 还有更多。
看看现场演示 。 帐户/密码演示/演示
注意:现场演示是几回发布。
我们已经使用巡航控制体面的结果。 我们已经开始在我们所有的项目中使用Maven构build工具。 随之而来的是向哈德森转会,这非常好。 如果您认为将来可能会转向Maven,我会推荐它。 我认为哈德森甚至可以用来调用Ant任务,尽pipeMaven包装器可能是有序的。
Thesetworks Cruise是CruiseControl开源项目的商业后代。 看起来非常好,很多function,分布式构build等。我不知道它的可扩展性是什么。
我运行的一个组织(openqa.org)曾经或多或less地使用过它们。 在简易设置方面,可以使用TeamCity或Bamboo。 但就总体可靠性而言,你可能想看哈德森。 我非常喜欢JetBrains,但是我们发现TeamCity在一段时间后进入了奇怪的状态,导致我们的构build非常不可靠。 太糟糕了,因为我喜欢IDEA!
我们一直在使用自动构build工作室 ,并已经非常满意。 这是一个Windows应用程序,所以你被困在一个Windows构build服务器上,但从另一方面来说,它是非常容易设置,维护和使用的。 您可以通过点击来从组件构buildstream程,如果没有组件满足您的需求,可以使用脚本。
在我使用的less数几个中, Buildbot是最强大和最灵活的。 这不是最漂亮的,如果这对你很重要。
我已经pipe理竹和哈德森,我会build议哈德森。
他们都很好,但哈德森有更好的报告支持,例如发布您的报道报告等在哈德森内容易得多。
这很可能在不久的将来发生变化,但尽pipeBamboo与JIRA等的整合,而且据统计,哈德森为了易用性和第三方支持,不pipe金额多less都是更好的(这是免费的,竹子不是) 。
我们也使用Hudson,如果不是经济衰退,我们可能会使用Bamboo和大部分的Atlassian产品(Bamboo,Crucible,Confluence)和JIRA。
我使用Continuum作为我的持续集成服务器。 没有其他的理由,我会聘请一个在上一次任务中使用过的开发经理,所以select至less我们中的一个人经验丰富的东西似乎是有道理的。
在selectContinuum之前,我有一个初级开发者花了两个星期的时间试图让CruiseControl去。 但是,我们得到了Continuum 1.0首先运行。
我们正在使用Zutubi脉冲 ,它对我们很好。 这是非常容易使用ant有许多先进的function。
我们使用StarTeam以及Hudson和CruiseControl.NET之间,与StarTeam集成时,CC.NET有一些缺陷。 它似乎无法识别我们在configuration文件中定义的工作区。
去年在美国的一个会议上,我第一次听说Cruise Control .net在一个小时的演讲中,在我回家的路上,我决定为我们公司实施一个小型POC,并在不到5个小时的时间内成功完成包括我所能做的所有学习)。
我使用它,因为比,我必须说,我很高兴的结果,并易于操作,有一些缺点(例如,跨服务器规模的任务分布,虽然你可以监视几台服务器),我发现了一个错误其中一个实现,因为它是一个开源,我可以很快修复它(大优势) – 我在codeplex中创build了一个[project] [1]来包含我的修复,然后将它们提交给社区作为检查我强烈build议你看看这个平台,如果你能说出你真正需要的东西,那也是很好的。
[1]: http : //www.codeplex.com/DavidovitzCCE项目
看看我们的Parabuild 。 与免费工具相比,它非常容易设置,维护开销接近于零。 这不是免费的,但你得到你所支付的。
你为什么不使用托pipe的CI服务,那么你不必担心维护,成本等
MikeCI是一个托pipe的CI服务 ,它托pipe在Amazon EC2中的构build,每月仅需10美元,比维护自己的CI服务器便宜得多。
搏一搏。
考虑在fazend.com免费托pipeCI服务。 它支持ant
。
CruiseControl.NET在Windows盒子上更为有效,然后是基于Java的原始盒子。 特别是当专用的构build服务器尚不可用时。
你可能也想看看它
http://www.thoughtworks-studios.com/solutions/deployment-management 链接文本
ThoughtWorks部署pipe理解决scheme结合了Twist(敏捷testing)和Go(发布pipe理)的强大function。
- Twist捕捉直接从业务用户进行testing的要求
然后支持他们的自动化作为与应用程序一起发展的长期testing。 - Go帮助开发和IT运营团队build模发布
处理和部署软件
可重复和可靠。