Hudson还是Teamcity进行持续整合?[关闭]


100

我们是一家Java商店,正在寻找要使用的CI工具。无论哈德森TeamCity的似乎是免费的,但TeamCity的似乎雨衣,并与更多的支持。

我想知道为什么人们仍然会使用哈德森,是否有人可以为/反对提供任何论据?


你可能有兴趣在这里的答案:stackoverflow.com/questions/1200721/...
ire_and_curses

我会把CruiseControl混在一起-如果您还没有考虑过的话。使用.NET版本无法评论Java观点,但我喜欢这样。
AdaTheDev

3
@ire_and_curses与其他工具相比,该工具中的任何答复都没有给出一个很好的论据
pdeva

4
-1用于定速巡航-太多的配置文件需要手动设置。
Bevan

3
据我所知,免费TeamCity的存在使CruiseControl失效了。我看不出有任何理由在TeamCity上使用CruiseControl。和许多相反的原因。
尼尔·诺诺顿

Answers:


113

到目前为止,Team City是最好的CI服务器。对我而言,它的杀手级功能是与IDE(IntelliJ,Eclipse和VisualStudio)的紧密集成。例如,它可以向您显示在IDE中编辑的文件过时,更改的人以及更改的内容。您可以从IDE提交到CI服务器,在构建网格上运行编译和测试,然后,如果构建成功,则CI服务器将提交。您可以在CI Web应用程序中单击生成报告,它将在IDE中打开相应的文件。

有可用的插件(我写了一个:http : //team-piazza.googlecode.com),但数量不多。


9
远程运行/预先测试的提交是TeamCity的非常有用的功能。通常,如果构建速度不快,TC会更方便,因为在TeamCity中,您会不断获得有关构建中发生的情况的反馈(通过了多少次测试,失败了多少次,构建在哪个阶段等等)。TC通知也更加复杂。您可以为不同类型的构建和各种通知程序(电子邮件,Jabber,Windows任务栏)配置不同的规则。
Pavel Sher

6
@Pavel:我不像TeamCity一样了解Hudson,所以我不会质疑您的评论开头。但是,关于通知,在我不那么谦逊的意见中,声称TC更复杂是纯粹的FUD。所有提到的通知渠道都可以在Hudson上使用(您甚至可以添加twitter)。实际上,我敢打赌,哈德森比TC拥有更多的插件(请查看wiki.hudson-ci.org/display/HUDSON/Plugins),并且我相信TC 比哈德森具有更多的限制。
Pascal Thivent 09年

3
我同意频道(Hudson有很多插件),但是不同意规则。在TeamCity中,您可以更改后订阅构建,可以选择在构建开始失败时(例如,首次测试开始失败时)得到通知。您可以要求在成功序列后的第一个失败构建上获得通知+在失败后的第一个成功上得到通知。这些选项适用于所有通知渠道。IDE通知程序就是这样的渠道之一:发生问题时,您将在IDE中得到正确的通知。我记得哈德森的通知规则要简单得多。
帕维尔·谢尔

2
Pavel-不想在这里进行吊索比赛,但是默认情况下,如果您为失败的构建做出了贡献,Hudson只会向您发送电子邮件。您还可以根据需要订阅有关每个失败构建的通知。email-ext插件中还有更多选项。您不必批准它,但不要歪曲它。
Jim T

4
一个快速的Google会向您显示,有一些插件可以控制Team City的nabaztag兔子和其他可爱的设备。或者,您也可以在答案中使用我链接到的插件。紧密的IDE集成的好处是可以更快,更集中地反馈正在使用的代码。您无需等待通知,切换到tge浏览器,阅读报告,切换回IDE并打开适当的文件。编辑器窗格随您的工作而变化,以显示其他团队成员如何影响代码。
纳特

58

哈德森+1。

哈德森是一个非常活跃的项目,拥有广泛的用户社区 一个活跃的用户邮件列表,非常容易上手,易于使用,已经在大型,非常大型的项目(JBoss,JAX-WS等)上使用,因此已经证明了成功的记录,并提供了非常出色的高级功能功能(例如构建矩阵,构建集群等)是开源的,具有很多插件...

如果支持确实很重要,那么您可以从Sun获得商业支持。但是FWIW,我从未遇到过哈德逊遇到任何阻碍问题。

更新:您可能知道,川口昌介(Hudson的创建者)已离开Sun / Oracle,并开始了他的自己的公司 ,将Hudson带入下一阶段。换句话说,这对哈德森不是威胁。而且,如果您正在寻求支持,则可以作为订阅计划的一部分获得Hudson CI Server的认证版本(此认证版本将Hudson的高质量版本与预定义的插件集以及一些商业版本捆绑在一起)。

更新:为了说明他们各自用户群的规模,以下是对Indeed(实时查询)上几种CI工具的工作趋势的比较:

哈德逊建筑工程师,CruiseControl建筑工程师,Bamboo建筑工程师,TeamCity建筑工程师工作趋势

这当然不是技术指标。


88
也许TeamCity是如此易于使用,以至于不需要任何专门雇用的人来配置它?
亨里克(Henrik)2010年

3
@Henrik:以上图表的解释由您自行决定。但是,是的,TeamCity也许是魔术。
Pascal Thivent,2010年

16
如果您聘请专职的构建工程师来进行持续集成,那么您现在会遇到两个问题:1)您的CI很难使用,因此您的开发人员将为此而苦苦挣扎,而知识将掌握在这个人的头脑中, 2)您要付钱去做不需要做的工作!
尼尔·诺诺顿

15
如果我选择的是CI服务器,则选择具有最少职位空缺的服务器,由专门的工程师来管理它。这是一个开发人员工具,开发人员应该能够自行管理它。如果他们做不到,则您需要使用其他工具或开发人员。
2012年

工作趋势图并不意味着哈德森+1 ...
Sharique Abdullah 2014年

17

我们从Hudson开始进行了两个Flex项目,然后当.NET开发人员加入CI工作时,我们迁移到了TeamCity。现在,我们再次替换了TeamCity服务器,回到了哈德森。主要原因是:-蓬勃发展的哈德逊社区,胜于支持。-用于各种任务的大量插件。-开源。-哈德逊是免费的,TeamCity仅可用于10个项目。

编辑:TeamCity现在免费提供20个项目。


2
10个项目限制已下降,现在唯一的限制是20个构建配置。对于中小型项目,可能就足够了。
ashwoods 2011年

4
出于好奇,TeamCity世界中缺少通过Jenkins插件可用的功能?
Behrang Saeedzadeh

14

TeamCity之所以出色,是因为它允许每个开发人员拥有自己的构建配置文件,并从其IDE挂接到它。孤独是“对接”。还支持GIT等。认真研究一下。专业版是免费的。


5
詹金斯/哈德森(Jenkins / Hudson)也支持GIT
CJBrew 2011年

14

最大的反对哈德森(Hudson)是,每个发行版都会引入新的错误。

发布非常频繁,因此您必须频繁升级,以免落后。这意味着您需要花费大量时间来诊断问题并回滚到以前的Hudson版本。(有时甚至无法回滚!)

我们正在我们的商店中引入“持续部署”(当您签入代码时,它将被部署到实时站点中!),不得不与哈德森w之以鼻,这使我们付出了太多成本。

我们纯粹是出于哈德逊漏洞的代价而积极地考虑迁移到TeamCity。


8
仅仅因为有可用的更新并不意味着您必须升级。我希望他们发布的次数更多-而不是很少发布。这是我何时升级的选择,而且我当然每周都不这样做。而且,维护者对于向后兼容性非常保守。插件通常不需要最新的Hudson即可工作。实际上,现在已经针对130多年的Hudson版本构建了130个可用的插件。如果您仍然担心,那么我们的作品中有一个自动回滚插件。.;)
Christopher Orr 2010年

1
根据我的经验,问题出在插件上,而不是Hudson本身,尽管从用户的角度来看并没有太大的区别。但是,除非遇到特定的错误或没有新功能就无法生存,否则没有什么可以强迫您进行升级。我们只是不遵循每个发行版,并且不使用最终版本对我们来说根本不是问题:“如果还没有发布,就不要修复它”
Pascal Thivent 2010年

2
当主要提交者发送一条消息,指出一个主要的安全漏洞已修复时,这就是更新的原因。我的观点仍然是:Hudson太过于宽容了-即使没有安装其他插件。
jdtangney 2010年

1
我可以说,在一个项目上使用Hudson / Jenkins一年半之后,尽管它是一个很棒的工具-我们在发行版之间也经历了不一致的质量-并且仅在绝对需要时才进行升级。我们发现了解决方法,包括频繁备份配置。我期待在我的最新项目中尝试TeamCity。
JaysonRaymond 2011年

4
为什么更新和稳定性是相反的因素?难道这不只是表示缺乏质量吗?
Niall Connaughton

6

我真的很喜欢Teamcity,但是在我正在工作的环境中,通过管理层获取Teamcity的采购订单所花费的时间可能已经超过了将所有内容迁移到Hudson所花费的时间。


10
TeamCity专业人士是免费的。
Pavel Sher

6
@Pavel,我们有20多个用户,并且构建更多。
萨尔

22
@sal总是让我感到惊讶,公司如何能够如此担心他们的开发团队的工具要花费几千美元,而宁愿让他们浪费100个小时的时间,而这是他们本来没有使用该工具的。
克里斯·马里西克

5
@Chris如果他们从开源免费工具开始,只是为了看看有什么效果,两年后才意识到它仍然可以正常工作怎么办?您是否还会建议花费几千美元升级到最有可能做完全相同的事情的商业工具?
stefanB 2010年

1
@stefan如果您已经使用两年的工具,并且满足您的需求,除非您需要其他工具提供的featureX,为什么还要免费或付费使用其他工具?
克里斯·马里西奇

2

之前和之前,我已经使用并设置了TeamCity和Jenkins(又名新的哈德逊),但我同意TeamCity设置起来非常繁琐,仅对10个或更少用户的团队免费。两种系统都非常容易设置,并且具有很好支持的插件系统。TeamCity的杀手级功能是预检工作流,您可以在将代码检入源代码控制之前对其进行测试,而Jenkins的好处是,即使您超过10个用户并建立代理,它也完全免费。


我也喜欢詹金斯的图表视图,这就是我在Teamcity中所缺少的。此外,我同意您的评论!
Danny Gloudemans'4

如果您同意评论,则将其投票:)
runxc1 Bret Ferrier

1

我刚刚开始习惯哈德森准备进行实验,看看它如何适应我们当前的环境。我对Teamcity的体验绝对为零,因此无法对此发表评论,但是到目前为止,我很享受与hudson的合作。

hudson有很多插件,而且hudson网站为您提供了许多编写自己的建议(http://wiki.hudson-ci.org/display/HUDSON/Extend+Hudson)。


1

我一直在向客户建议他们考虑使用Bamboo。原因是(从阅读规格表开始!)它具有与TeamCity极为相似的功能。但是,主要好处是与JIRA的紧密集成,JIRA作为功能/错误跟踪系统非常流行。完整的套件包括JIRA,Greenhopper,Bamboo和Eclipse。不少客户还拥有HP Quality Center,并且还有一些插件可以将其加入JIRA。我也喜欢JIRA,Bamboo和GreenHopper都来自Atlassian的事实。


在广泛使用TeamCity之后,詹金斯看上去非常裸露。是的,一旦安装插件,您就可以执行任何操作。TeamCity具有成熟的功能集,可让您立即使用。然而,在连续交付级别上,两者都没有实现适当的登台管道。QuickBuild是一款功能更丰富的产品,值得关注,它是付费软件。
bbaassssiiee 2014年

现在,在客户站点上看到Bamboo的实际应用后,我不再十分热衷于此。脚本编写和在构建之间难以完成的信息传输方面存在一些问题。结果往往是开发人员将各种不应该存在的东西放在CI的全局变量区域中。
drekka 2014年
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.