【维基百科】持续集成 / CI--Continuous integration是一种软件工程流程,是将所有软件工程师对于软件的工作副本持续集成到共享主线的一种举措。该名称最早由葛来迪·布区在他的布区方法中提出,不过他并不支持在一天中进行数次集成。之后该举措成为极限编程的一部分时,其中建议每天应集成超过一次,甚至达到数十次。在测试驱动开发的作法中,通常还会搭配自动单元测试。

【百度百科】持续集成 / CI--Continuous integration是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

====================================下面汇总了一下业界TOP8 持续集成工具==============================

Jenkins

Jenkins是一个用Java编写的开源CI工具。 当Oracle收购Sun Microsystems时,它起源于Hudson的分支。Jenkins是一个跨平台的CI工具,它通过GUI界面和控制台命令提供配置。

Jenkins 非常灵活的是通过插件扩展功能。Jenkins插件列表非常全面,您可以轻松添加自己的插件。除了可扩展性之外,Jenkins还为在多台机器上分发构建和测试负载而感到自豪。它在MIT许可下发布,因此可以免费使用和分发。Cloudbees还以云中的Jenkins形式提供托管解决方案。

结论: 那里最好的解决方案之一,既强大又灵活。学习曲线可能有点陡峭,但如果你需要灵活性,那么学习如何使用它是非常值得的。

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

TeamCity

TeamCity是成熟的CI服务器,来自JetBrains公司的实验室。JetBrains已经在软件开发领域建立了权威,全世界的开发人员都使用他们的工具,如WebStorm和ReSharper。

TeamCity的提供的所有功能在其免费版本,但它仅限于100个构建配置和3生成代理小号。需要购买其他构建代理和构建配置。最近JetBrains开始提供TeamCity 的云试用版,您可以在一个项目中试用它,而无需在本地安装它。它持续60天,之后您可以导出项目。

开箱即用,TeamCity可以在许多不同的平台上运行,并且支持各种各样的工具和框架。有很多公开的插件,由JetBrains和第三方开发。

尽管是基于Java的解决方案,但TeamCity 在此列表中的工具中提供了最佳的.NET支持。还有不同的企业软件包,可以根据公司需要的代理数量进行扩展。

您可以在我们的博客上找到关于TeamCity 的深入  案例研究。

结论: 整体上有很好的解决方案,但由于其复杂性和价格,更适合企业需求。

官方网站: TeamCity 
可用性:免费提供3个代理和100个构建配置和付费企业版
平台:  Servlet容器(内部部署),云试用

Travis CI

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

Travis CI 对于 GitHub上托管的所有开源项目以及前100个版本都是免费的。您可以选择一些定价计划,主要区别在于您可以运行的并发构建数量。

使用.travis.yml文件配置构建,文件包含将在运行构建时执行的构建任务。它支持各种不同的语言和支持它们的良好文档

结论:  一个成熟的解决方案,提供托管和内部部署变体,被许多团队所喜爱和使用,记录非常好。

官方网站: Travis CI 
可用性:免费开源计划和前100个版本,其他所有内容的付费计划
平台:  托管和内部部署

Go CD

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

让Go脱颖而出的是管道概念,它使复杂构建工作流的建模变得容易。关于管道概念,它如何帮助持续交付以及它如何与Jenkins管道进行比较,您可以在这里阅读。Go CD从头开始支持管道,并通过并行执行任务消除构建过程中的瓶颈。

判决:内部部署解决方案,适用于复杂场景,免费提供付费支持。

官方网站: Go CD 
可用性:免费提供付费支持
平台:  适用于Windows,Mac和一些Linux发行版的内部部署

Bamboo

Atlassian是专注于为软件开发团队提供工具的公司,您可以通过他们的工具(如JIRA和Bitbucket)了解它们。Bamboo最初提供云和内部部署解决方案,但在2016年5月,云版本停止使用Bitbucket管道(可通过Bitbucket帐户的左侧面板访问)。

通过利用Docker的强大功能,Bitbucket Pipelines提供了非常高效和快速的构建,并且正在迅速发展并成为Bamboo Cloud的有力继承者。

Bamboo可以免费试用30天,之后,有两个小型和成长团队的计划。作为Atlassian工具,它具有对JIRA和BitBucket的原生支持,您甚至可以轻松地将Jenkins配置导入Bamboo。

结论:伟大的本地CI工具最初也提供了云解决方案。Bitbucket Pipelines取代了云解决方案。Pipelines是集成到Bitbucket中的现代快速云CI工具。有30天免费试用,并在此之后支付计划。

官方网站: Bamboo 
可用性:支付免费试用
平台:内部部署

GitLab CI

GitLab CI是开源Rails项目GitLab的一个组成部分,GitLab公司将其暴露出来。它托管在GitLab.com上,这是一个免费的托管服务,它提供详细的git存储库管理,具有访问控制,问题跟踪,代码审查等功能。

GitLab CI与GitLab无缝集成,可以使用GitLab API轻松挂钩项目。处理构建的GitLab运行程序是用Go语言编写的,可以在Windows,Linux,OSX,FreeBSD和Docker上运行。

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

结论:一个 具有令人印象深刻的功能列表的Phenomenal托管工具,提供免费和企业解决方案。

官方网站: GitLab CI 
可用性:免费和付费试用
平台:  托管(可在Gitlab.com上为您托管)

Circle CI

来自同名公司的另一种云替代方案。CircleCI目前仅支持GitHub,支持的语言列表包括Java,Ruby / Rails,Python,Node.js,PHP,Haskell和Scala。

CircleCI与其他工具的区别在于它们提供服务的方式。CircleCI 的主要定价块是“容器”。一个容器是免费的,您可以根据需要在其上构建任意数量的项目。一旦开始添加更多容器(每个固定价格),您可以选择适合您需求的并行化级别。

有5个级别的并行化(1x,4x,8x,12x和16x)。因此,从16个容器开始,您可以在一个构建上实现16x的最大并行化。或者,您可以使用4x并行化在16个容器上运行4个构建。它是由你决定。

结论:灵活的云CI工具,可提供高达16倍的并行化。如果您需要快速建造的东西并且货币不是最大的问题(最高可达3150美元/月),那就太棒了。

官方网站: CircleCI 
可用性:免费和付费试用
平台:  托管

Code ship

如果到目前为止还没有足够的托管解决方案,这是另一个。

Codeship有两个不同的版本:Basic和Pro。基本版提供开箱即用的持续集成服务,但没有docker支持,其主要目的是通过UI构建具有通用工作流的应用程序。专业版提供更多灵活性和docker支持

基本版本有几个付费软件包,其中较昂贵的软件包具有更多的并行化功能。在专业版中,您可以选择实例类型和最多20x的并行化数量。它可能会有点贵,但有些团队可能需要这种力量。

结论:强大的托管解决方案支持Docker,灵活的计划适合小型团队和企业。

官方网站: Codeship 
可用性:每月免费提供100个版本,并支付超过该
平台:  托管

 Codefresh

此列表中的许多工具都支持Docker,但Codefresh是专门针对容器而设计和构建的。

Docker一开始可能有点压倒性,而Codefresh公司的人员也是如此。我很清楚这一点。除了使用现有的docker文件之外,您还可以从几个不同的模板中进行选择,以简化项目到Docker容器的迁移。用户界面简洁直观,几乎不需要解析文档就可以开始使用它。

这个CI工具值得列入名单的原因在于让我感到惊讶的一个功能。该功能将您的图像发布到类似舞台的环境中。构建完成后,您可以启动图像以查看它是否有效!这实际上意味着您可以获得临时环境,而无需配置其他虚拟机或部署任何内容。这太棒了!

Codefresh仍然非常年轻,并且有改进的空间和新功能(例如.NET核心模板和更多部署选项),但它将容器视为一等公民,这使其成为任何计划利用的团队的理想解决方案泊坞窗。

结论:易于使用的工具,其核心是Docker容器,以及将构建的Docker映像启动到托管环境的非常好的功能。

官方网站: Codefresh 
可用性:免费提供每月200个版本,5个并发版本和1个托管环境,支付额外费用
平台:通过Kubernetes和Helm Charts托管和内部部署

~~~~什么是完美的持续集成工具?~~~~~

在为项目选择正确的CI工具时,需要记住几件事。

1.内部部署解决方案提供了大量的构建过程灵活性,  并在本地存储工件。在某些情况下,对某些公司而言,这可能是强制性的。托管解决方案不提供麻烦设置和更高的可扩展性。

2.Docker的支持 尽管绝大多数工具都支持Docker,但有些工具比其他工具更为重视。

3.用户界面。因为任何优秀CI工具的主要作用之一就是使构建过程更容易。它应该不难或复杂。

~~~~~~~~~~~~~~~~~~~~~~~

原文地址:

https://code-maze.com/top-8-continuous-integration-tools/

https://dzone.com/articles/top-8-continuous-integration-tools

【持续集成】CI工具汇总相关推荐

  1. 持续集成(CI)工具-----jenkins

    1.jenkins 1.1. 什么是jenkins Jenkins是一个开源的.提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续.自动的构建/测试软件项 ...

  2. Jenkins 持续集成(CI)工具

    什么是Jenkins Jenkins是一个可扩展的持续集成引擎,是基于Java开发的一种持续集成工具,用于监控持续重复的工作. 1.概念 Jenkins中文官网 w3cschool中文文档 Jenki ...

  3. Jenkins Gitee 实现持续集成CI/CD工具【免费、推荐】

    文章目录 1. Jenkins & Gitee持续集成流程 2. Jenkins安装Gitee插件 3. 插件配置 4. 安装NodeJS 5. 新建构建任务 5.1 General 5.2 ...

  4. 持续集成 ci/cd_CI / CD即服务:在云中进行持续集成和交付的10种工具

    持续集成 ci/cd 云和持续集成 (CI)是天生的匹配. 尽管云使我们摆脱了安装和维护物理服务器的痛苦,但持续集成可以自动消除构建,测试和部署代码的痛苦. 如果两家公司都希望把工作从开发团队的肩膀上 ...

  5. 使用GitLab来实现IOS项目的持续集成CI

    作为程序员,代码是一定要写的,而且要天天写.在好多地方见过这样一种说法: 只会写程序的程序员不是好程序员 当然,我不赞同这种观点,因为有的人他天生就是为程序而生的.但是掌握一些代码之外的理论知识也是一 ...

  6. centos7下Gitlab+Jenkins部署持续集成CI环境

    1.基本环境 主机:win10,IP:192.168.0.111:部署机器centos7,IP:192.168.0.65: 内存推荐到8G,实测需要6G以上,以免出现内存不够用而报错. 2.安装git ...

  7. ci持续集成工程师前景_不要忽视持续集成(CI)/持续交付(CD)的13个优势

    原标题:不要忽视持续集成(CI)/持续交付(CD)的13个优势 持续集成(CI)/持续交付(CD)是现代软件开发周期的基础,人们需要了解持续集成(CI)/持续交付(CD)和其管道实施的所有好处. 在传 ...

  8. 在持续集成 (CI) 环境中使用 Android 模拟器 | AndroidDevSummit 中文字幕视频

    在本次演讲中,Hoi Lam 和 Lingfeng Yang 将为大家讲解如何在持续集成 (CI) 环境中使用 Android 模拟器.包括近期发布的功能: 模拟器的 Docker 镜像,以及如何部署 ...

  9. 持续集成(CI)简单介绍

    Continuous integration,简称CI ​ 是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的 ...

最新文章

  1. 串口发送tcp数据 源端口号_三分钟基础知识:用动画给面试官解释 TCP 三次握手过程...
  2. idea中配置个人注解代码模板
  3. Linux:CentOS7防火墙基本操作
  4. Hadoop组件基本操作
  5. 精简指令和复杂指令计算机,CPU精简指令集和复杂指令集的区别
  6. 【转】2.3【MySQL】运行原理(三)InnoDB 逻辑存储结构
  7. SQL注入:3、无权读取information_schema库和拒绝union、order by语句
  8. 入门机器学习(十四)--编程作业-支持向量机(Python实现)
  9. 如何使用Power BI和R脚本创建高级分析
  10. ESP32c3开发环境搭建 IDF V4.4离线版安装使用
  11. python能做哪些方面的准备_学习pyhton需要做哪些准备工作
  12. CAS实现单点登录SSO执行原理探究超详细
  13. 训练猫咪,一本书就够了
  14. 【一】高等数学上册第一章笔记。
  15. 临时邮箱,20分钟,30分钟,60分钟
  16. 在Colaboratory中使用ImageAI训练自己的数据集
  17. 天龙八部手游服务器维护公告,-天龙八部手游-详情页-官方网站-天龙八部官方唯一正版3DMMORPG武侠手游...
  18. 人教版,北师大版,北京版和苏教版的四年级数学知识点对比(附视频)
  19. php Guzzle源码,PHP Guzzle获取请求
  20. 自己使用的文本编辑器全部采用Tahoma字体

热门文章

  1. 根据分类好的图片将相应的json文件提取出来
  2. 【软件工程基础复习整理】第四章需求分析(3)功能建模
  3. Dynamics CRM技术开发应该知道的十件事(上)
  4. JSON parse error: Cannot construct instance of
  5. 5G的优势和带来的技术改革
  6. HTML——动画效果回到顶层(小火箭)
  7. ruby编写linux脚本,使用Ruby编写脚本进行系统管理的教程
  8. 最真实的网站运营策划方案
  9. Ubuntu挂载微软NTFS格式硬盘
  10. 自然语言模型的哲学小谈