持续集成服务器

时间:2020-03-06 14:47:35  来源:igfitidea点击:

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

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

解决方案

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

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

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

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

我们使用Cruise Control取得了不错的效果。从那以后,我们开始在所有项目中将Maven用作构建工具。随之而来的是将其转移到Hudson担任CI,这真是太好了。如果我们认为将来可能会改用Maven,则建议我们这样做。我认为,即使Maven包装器可能是按顺序排列的,也可以使用Hudson来调用Ant任务。

http://hudson-ci.org/

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

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

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

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

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

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

持续集成功能矩阵是一个很好的起点。

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

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

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

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

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

我们已经看到各种产品的相当不错的报道。

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

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

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

BR
〜A

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

我们正在使用Zutubi Pulse,它对我们非常有用。
使用起来非常简单ant具有许多高级功能。

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

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

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

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

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

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

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

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

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

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

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

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

只需在持续集成功能矩阵上说一个字即可:它不是由CruiseControl员工收集的,而是由DamageControl项目在CodeHaus上启动的,并在DamageControl进入休眠状态时移至CruiseControl Wiki。该信息主要由项目/产品所有者或者其粉丝维护。

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

我从那时起就一直在使用它,我必须说,我对结果和操作简便性感到非常满意,
有一些缺点(例如,虽然我们可以监视多个服务器,但缺乏跨服务器规模的任务分配)
我在其中一个实现中发现一个错误,因为它是开放源代码,所以我可以很快对其进行修复(这是一个很大的优势),我在Codeplex中创建了一个小项目[project] [1]来包含我的修复,然后再将它们贡献给社区。作为签到。
我强烈建议我们看一下这个平台,如果我们可以说出自己的实际需求,那也很好。

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

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

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

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

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

我对竹子很满意。在解决之前,我查看了许多免费的解决方案。

在我使用过的少数几个工具中,Buildbot是最强大,最灵活的。不过,这对我们而言并不是最漂亮的。

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

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

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

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

点击下面:

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

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

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

查看我们的Parabuild。与免费工具相比,它非常易于安装,并且维护费用几乎为零。它不是免费的,但我们能得到所要支付的费用。

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

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

搏一搏。

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

我们可能还想看看

http://www.thoughtworks-studios.com/solutions/deployment-management链接文本

ThoughtWorks部署管理解决方案将Twist(敏捷测试)与Go(发布管理)的功能结合在一起。

  • Twist可以直接从业务用户那里捕获要测试的需求,然后支持其自动化,作为随应用程序发展的长期测试。
  • Go帮助开发和IT运营团队对发布流程进行建模,并重复且可靠地部署软件。