竹与Vs. 哈德逊(又名jenkins)VS任何其他CI系统
那里的人都有哈德森和竹子的经验? 对这些产品的相对优势和劣势有什么想法?
好吧,由于人们不断提及其他CI产品,我会进一步开放。 这是我的一般问题。 我想为一个新项目build立一个CI系统。 这个项目可能会有Java组件(WARs和JARs),一些python模块,甚至可能还有一个.NET组件。 所以我想要一个CI服务器,可以:
- 处理多种语言,
- 将工件部署到服务器(即,如果所有unit testing都通过,则部署战争)。
- 我也想要一个体面的代码覆盖工具集成的东西。
- 好看的报告很好,但不是必需的。
- 出现问题时提供多种通知机制。
- 我不担心托pipe。 我将在本地服务器或Amazon实例上运行它。
- 另外,这也许是天空中的馅饼,但有什么东西,也可以build立iPhone应用程序?
免责声明:我在Bamboo上工作,因此我不会评论其他CI产品的特性,因为我的经验是有限的。
为了回答你的具体要求:
处理多种语言
Bamboo对多种语言提供了开箱即用的支持。 客户将它与Java,.Net,PHP,JavaScript等一起使用。据说,大多数构build服务器是足够通用的,至less可以执行脚本来启动构build过程。
将工件部署到服务器(即,如果所有unit testing都通过,则部署战争)。
Bamboo 2.7支持构build阶段,它允许您将构build分解为unit testing阶段和部署阶段。 只有unit testing阶段成功,构build才会进入部署阶段。 在Bamboo 3.0中,我们将支持阶段之间的工件共享,允许您在第一阶段中创build工件(例如您的战争),并在以下阶段中使用此工件进行testing和部署。
我也想要一个体面的代码覆盖工具集成的东西。
Bamboo支持三叶草,并且还有一个可用于Cobertura的插件。
好看的报告很好,但不是必需的。
竹有一大堆的报告是好的,但不是必要的:)
出现问题时提供多种通知机制。
Bamboo可以通过电子邮件,RSS,IM,IDE插件或整个团队可见的好墙板通知您。
我不担心托pipe。 我将在本地服务器或Amazon实例上运行它。
从经验来看,托pipe自己的CI服务器通常比较便宜。 但是,如果您需要扩展,Bamboo可以轻松地将构build版本分发到其他本地代理,或者通过Elastic代理扩展到Amazon。
另外,这也许是天空中的馅饼,但有什么东西,也可以build立iPhone应用程序?
与第一个问题的答案类似,大多数CI服务器将能够以某种方式构buildiPhone应用程序。 虽然可能需要更多的脚本。
价格: Bamboo不是免费的(除了我们的免费启动许可 )/ libre / open-source,但是如果您购买商业许可和全面支持,您将获得Bamboo的源代码。 与CI服务器所需的计算能力和潜在维护成本相比,Bamboo许可证的成本相当小。
希望这可以帮助。
我没有使用过竹子,但是我使用过哈德森,克鲁斯和TFS,而哈德森是最好的。 这是非常容易设置,并有一个非常好的网页graphics用户界面的项目configuration。 哈德森的优点在于它支持几乎所有的语言和function,你可以假设有人为它写了一个插件。
http://wiki.hudson-ci.org/display/HUDSON/Plugins
我们用它来定时运行.NET,Java和C ++版本以及带有自动化testing工具的SVN签名,这非常棒。 上一次我工作的地方在我离开之前就开始了一些iPhone的开发,我相信他们也在使用Hudson。
另外它是免费的!
竹与哈德森在一个非常肤浅的层面似乎归结为:
- 竹:易于使用,美观
- jenkins:粗糙的边缘,但比竹更灵活
Bamboo和Jenkins都有很多bug(你会遇到问题),但是至less在Jenkins的情况下,你很可能有一个解决方法,直到它被修复。 随着竹子,你坚持等待更新。
免责声明:我正在与jenkins合作。
在我们的组织(相当大,超过100个开发人员),我们发现这两个function非常有用:
- CAS插件与matrix项目安全策略
- build立pipe道插件
- LTS发布时间表。
关于你的问题:
- 好
- SCP插件或SSH插件
- 我们使用FINDBUGS,静态分析收集器插件,静态代码分析插件,任务扫描器插件
- 上一个在第3 + Jenkins DocLinks插件
- 我们使用电子邮件jenkins电子邮件扩展插件,但它也支持其他系统,如RSS,Twitter的发布,短信…
- 我们正在Tomcat托pipe,本地运行。
- 是。
那么到目前为止,我还没有使用过Bamboo,但是有一个区别就是Hudson是免费的/免费的/开源的软件。
如果你愿意为此付钱, Anthill就可以完成你所看到的所有事情。 我们在我的公司为我们的networking团队使用它,而且function非常强大。
处理多种语言
开箱即用,它可以自动化您现有的脚本,并pipe理他们生成的工件,而不pipe使用什么语言。
将工件部署到服务器(即,如果所有unit testing都通过,则部署战争)。
部署可以添加为您的构build过程中的一个步骤。 我不确定你是否想要直接部署到生产环境,但是如果pipe理层说你必须这样做,你一定可以。
我也想要一个体面的代码覆盖工具集成的东西。
他们与Clover,Cobertura,Emma,Checkstyle,CodeSonar,Coverity,FindBugs,Fortify,Klocwork,PMD和Sonar一起开箱即用。
好看的报告很好,但不是必需的。
我不确定哪些报告是可用的,但有一个报告标签(我不去那里:-))
出现问题时提供多种通知机制。
我知道它可以做电子邮件(因此短信),与几个IM服务集成。
我不担心托pipe。 我将在本地服务器或Amazon实例上运行它。
我看到一个演示,他们从一个映像中启动一个云会话,并配有一个代理进行部署。 我们在典型的Linux机器上运行它,但是我知道有些人在VMWare服务器上运行它。
另外,这也许是天空中的馅饼,但有什么东西,也可以build立iPhone应用程序?
这可能会属于第一个。