8个流行的持续集成工具

2018-01-11   出处: https://dzone.com  作/译者:Vladimir Pecanac/初心

                             

      如果你很熟悉“持续集成”,一定会同意这样的观点:“使用它已经成为一种强制”。如今有很多持续集成工具,在这篇文章中,我们将介绍几款流行的持续集成工具。阅读本篇文章后,你会有对这些CI工具有一个更好的了解,知道他们能够为你提供什么功能,从而选出最适合你需求的一款持续集成工具。
      接下来将依次介绍8款持续集成工具(介绍的顺序没有任何含义):


      Jenkins     
      Jenkins是一款用Java编写的开源的CI工具。当Oracle收购Sun Microsystems时,它作为Hudson的分支被开发出来。Jenkins是一个跨平台的CI工具,它通过GUI界面和控制台命令进行配置。
      Jenkins非常灵活,因为它可以通过插件扩展功能。Jenkins插件非常好用,同时你可以容易地添加自己的插件。除了它的扩展性之外,Jenkins还有另一个非常好的功能——它可以在多台机器上进行分布式地构建和负载测试。Jenkins是根据MIT许可协议发布的,因此可以自由地使用和分发。Cloudbees还提供Jenkins in Cloud形式的托管解决方案。

      总结:Jenkins是最好的持续集成工具之一,它既强大又灵活。学习它可能要花费一些时间,但是如果你需要一个灵活的持续集成解决方案,那么学习如何使用它将是非常值得的。

      官方网址:Jenkins
      可用性:免费
      平台:跨平台


      TeamCity    
      TeamCity是一款成熟的CI服务器,来自JetBrains公司。 JetBrains已经在软件开发世界中建立了权威,他们的工具如WebStorm和ReSharper正被全球的开发者所使用。
TeamCity在它的免费版本中提供了所有功能,但仅限于20个配置和3个构建代理。额外的构建代理和构建配置需要购买,你可以在这里找到价格。
      TeamCity安装后即可使用,可以在多种不同的平台上工作,并支持各种各样的工具和框架。 能够支持JetBrains和第三方公司开发的公开的插件。尽管是基于Java的解决方案,TeamCity在众多的持续集成工具中提供了最好的.NET支持。TeamCity也有多种企业软件包,可以按所需代理的数量进行扩展。
      总结:整体而言是TeamCity是非常好的持续集成解决方案,但由于其复杂性和价格,更适合      企业需求。
      官方网站:TeamCity
      可用性:3个代理和20个构建配置是免费的,额外的代理和配置需要付费
      平台:Servlet容器(本地)


      Travis CI    

      Travis CI是最老的托管解决方案之一,赢得了很多人的信任。虽然它主要以托管解决方案而闻名,但它也以企业包的形式提供内部版本。

      Travis CI对GitHub上托管的所有开源项目以及前100个版本的构建都是免费的。有几个定价计划可以供你选择,它们之间主要区别是你可以运行的并发构建数量。

      Travis CI的构建通过.travis.yml文件进行配置,该文件包含了在构建时所需要执行的任务。它能够支持多种语言并提供完善的帮助文档。

      总结:一个成熟的解决方案,提供托管和本地变种,被许多团队喜爱和使用,非常有据可查。

      官方网站:Travis CI

      可用性:对开源计划和前100个版本的构建是免费的,其他的服务需要付费

      平台:托管和本地


      Go CD    

      Go是ThoughtWorks公司最新的Cruise Control的化身。除了ThoughtWorks提供的商业支持,Go是免费的。它适用于WindowsMac和各种Linux发行版

      Go脱颖而出的是它的流水线概念,使复杂的构建流程变得简单。关于流水线概念是如何帮助持续交付,以及如何与Jenkins的流水线流程进行比较,您可以在这里阅读到相关内容。它最初的设计时就支持流水线概念,消除了构建过程的瓶颈,并能够并行地执行任务。

      总结:Go CD非常适合复杂场景,并且能够免费提供付费的支持。

      官方网站:Go CD

      可用性:免费提供付费的支持

      平台:WindowsMac和一些Linux发行版


       Bamboo   

      Atlassian是专注于为软件开发团队提供工具的公司,你或许已经通过JIRABitbucket了解到了他们。Bamboo最初提供了云端和本地两种持续集成的解决方案,但在20165月,云端版本不再支持Bitbucket PipelineBitbucket Pipeline能够支持Docker, 是一个非常高效且快速的持续集成解决方案,正在迅速发展,是Bamboo云端版本的有利继承者。

      Bamboo可以免费试用30天。作为Atlassian工具,它能够很好地支持JIRABitBucket,甚至可以将Jenkins配置轻松地导入到Bamboo中。

      总结:Bamboo是一款本地CI工具。其原本的云段解决方案被Bitbucket pipeline所取代。有30天的免费试用,在此之后可以进行付费使用。

      官方网站:Bamboo

      可用性:付费免费试用

      平台:本地


       GitLab CI     

      GitLab CI是开源的Rails项目GitLab的一个组成部分,由GitLab公司将它带到了大众的视野中。 GitLab托管在GitLab.com上,GitLab.com提供了免费的托管服务,并且提供了git仓库存储和管理功能,如访问控制,问题跟踪,代码评论等。

      GitLab CI能与GitLab完全集成,可以通过使用GitLab API轻松地作为项目的钩子。GitLab的执行部分(流程构建)使用Go语言编写,可以运行在WindowsLinuxOSXFreeBSDDocker上。

官方的Go Runner可以同时运行多个作业,并具有内置的Docker支持。 Gitlab CI有两个版本:开源的GitLab社区版和GitLab企业版

      总结:GitLab CI是一款令人印象深刻的托管工具,提供了免费版本和企业版本。

      官方网站:GitLab CI

      可用性:免费和付费

      平台:托管(可以在Gitlab.com上托管)


       CircleCI   

      CircleCI也来自GitLab公司,是另一款云端的持续集成管理工具。CircleCI目前仅支持Github管理,它能够支持的语言包括:Java, Ruby/Rails, Python, Node.js, PHP, Haskell, and Skala

CircleCI和其他持续集成工具不同的地方在于他们提供服务的方式。CircleCI需要付费的主要是它的容器。你可以免费使用一个容器,当你开始使用更多容器的时候,你可以选择你所需要的并行化级别来加速你的应用。

      主要有5个并行化级别可以供我们选择: 1x, 4x, 8x, 12x and 16x。你可以选择用16个容器进行一个项目的构建,此时并行化级别就为16x,当然你也可以用16个容器同时进行4个项目的构建,此时并行化级别为4x,如何选择取决于你。同时CircleCI也能够支持Docker

      总结:CircleCI是一个灵活的云端CI工具,提供的最大并行化级别为16x。当你需要快速地进行项目构建时它将是一个不错的选择,同时它的价格也不是很贵。

      官方网站:CircleCI

      可用性:免费和付费

      平台:托管


      Codeship  

      Codeship是一个本地的持续集成解决方案。它有两种不同的版本:基本版和专业版。在基本版中提供了安装即用的持续集成服务但是不能够支持Docker,它的主要用途就是通过UI来进行应用的构建等操作。专业版本提供了更灵活的功能以及Docker支持。

      在基本版中有几个可选的付费包,越贵的付费包并行能力越好。在专业版本中你可以选择你的实例类型和并行级别(最高的级别为20x),价格稍微有点贵,但是大多数的团队应该会需要这种并行化构建的功能。

      总结:Codeship是一个强大的带有Docker支持的本地持续集成解决方案

      官方网站:Codeship

      可用性:每个月的前100次构建免费,后续的构建需要付费

      平台:托管


        Codefresh   

      上面所提到的很多工具都能够支持Docker,但Codefrsh从设计到开发都将容器的理念贯彻其中。

      Codefresh的开发者们从一开始就意识到Docker会广受欢迎。Codefresh除了能够在现有的Docker文件中工作外,你也可以选择几个不同的模板来轻松地的将你的项目迁移到docker容器中。它的UI非常的干净和容易理解,你可以很容易地上手。

      之所以将Codefresh介绍给你们的原因在于它有一个让人非常惊喜的功能。这个功能就是将你的镜像发布到一个临时的环境中。当项目被建立时,它的镜像也被建立了,你可以发布这个镜像并观察它是如何工作的。那意味着你可以得到一个临时的工作环境,而不需要一个额外的虚拟机,这就是它非常棒的地方。

      Codefresh是一款比较新的工具,有很多能够改进的地方和新的特性可以增加。但是它把容器作为它的重要组成部分使得它对任何一个打算使用Docker容器的团队来说都将是一个非常好的持续集成解决方案。

      总结:Codefresh是一个支持Docker的持续集成工具,它可以发布和建立本地环境的Docker镜像。

      官方网站:Codefresh

      可用性:每个月的前200次构建,5个并发的构建和一个本地环境是免费的,额外的服务需要付费。

      平台:本地


     那么,对于你和你的团队来说,完美的持续集成工具是什么?

       在为您的项目选择正确的CI工具时,需要牢记几件事情:

      本地解决方案为构建过程提供了足够的灵活性,并且项目信息能被存储在本地。这对你来说可能并不重要,但在某些情况下,对某些公司来说,这可能是强制性的。

另一方面,托管解决方案不会提供太多的设置选项和更大的可扩展性,因为您不需要硬件来托管它们。

      另一个重要的事情是是否支持Docker Docker革新了我们分发应用程序的方式,并成为不可忽视的一项技术手段。尽管上面所提到的绝大多数工具都支持Docker,但有些工具会比其他工具更能够支持Docker

      最后一个容易被忽视的方面是用户界面。上述中的一些工具比其他工具更容易使用。任何一个好的CI工具的主要作用之一就是使构建过程更容易,因此UI操作不应该很难或复杂。


      【英文原文: https://dzone.com/articles/top-8-continuous-integration-tools

      {测试窝原创译文,译者:初心}

      译者简介:初心,在读东南大学硕士





声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
4261° /42608 人阅读/1 条评论 发表评论

登录 后发表评论