原标题:推荐 10 个好用的 CI/CD 工具

编辑 | Lisa

虽然云平台的到来让开发者免于安装和维护物理服务器,但测试和部署代码过程依旧需要人为完成,持续集成可以自动消除构建、测试和部署代码的大部分痛苦。如果希望最大限度提高效率,持续集成和交付工具是最好的选择。

实际上,所有开发者都可在软件开发中使用 CI/CD,但团队使用可以获得更大优势,尤其是大型团队,因为他们通常在处理相同的互锁代码块。持续集成最全面的实现是在测试之前构建代码,寻找未被发现的错误和不兼容问题,这些可能是由不同的团队成员写入代码时创建的,持续集成服务器可以同步所有程序员的工作,并帮助团队检测所有问题。

虽然 CI/CD 热度不退,但完全自动化的部署方式会让团队管理者感到不踏实,因此很多团队习惯在此过程中添加一些手动暂停,并增加问责制和其他保证代码在可控范围内的规则,这种混合方法被称为持续交付,因为它将代码提供给某一阶段或测试集群,并等待开发者最终推向生产。

如果在服务器机房中持续集成非常好,那么在云中可以实现更快交付和更高效率。在最好的情况下,云可以拆分任务并行运行。服务从大量硬件开始,然后在许多团队之间共享,只要所有人不同时推送代码,构建和测试将运行得很快。

或许,唯一令团队担心的问题就是失去控制。所有云服务都需要将代码交给第三方,这种选择可能让某些人感到不自由。即便所有的云服务都在努力强调安全性,但依旧让人担心。以下是在云中进行持续集成的 10 种不同选项,可以帮助开发者更好得适应这一过程。

CloudBees

CloudBees 核心源自 Jenkins,这是著名的持续集成开源项目,添加了测试支持以及代码运行保证。该公司将所有实验插件清理干净,添加了一些自研实验插件,然后打磨正确以便在需要时如期工作。

CloudBees 雇用了 80%的 Jenkins 开发团队,为开源项目贡献代码,因此可以确信他们对这个平台有很好的理解。为了加快速度,CloudBees 还添加了大量并行化工具跟踪开发过程。

CloudBees 提供各种价位,从免费到入门套件和全年服务,并为需要该工具但不需要云计算的开发者提供 Jenkins 支持。

AWS CodePipeline

亚马逊用于持续集成和部署的工具 AWS CodePipeline 经过优化,可以将代码交付给 AWS 服务器,同时为代码和数据提供更复杂的路径。基本工具为主要编程语言(Java,Python,Node.js,Ruby,Go,Android,.Net Core for Linux)提供了一个很好的预配置构建环境,发送之前将结果转储到 S3 中并关闭服务器就可以开始运行。

CodeBuild 在 CodePipe 由 CodePipeline 触发时从 CodeCommit 中获取最新结果,并将其交给 CodeDeploy。如果需要配置大量 Code 代码,可以直接跳到 CodeStar,这提供了另一层面的自动化。在技术上并不需要支付任何代码层费用,亚马逊收取的费用主要是沿途使用的计算和存储资源。

Bitbucket Pipelines

Atlassian 是流行的 Jira 和代码库 Bitbucket 背后的公司,决定创建 Bitbucket Pipelines(Bitbucket 云中的持续集成工具)以包括更多集成。构建机制和 Atlassian 其他工具之间的连接形式成为重点,因此这只作为 Bitbucket 中项目的一个选项,另一个选项指向部署。

如果开发者选择为主要语言(Java,Java,Python,PHP,.Net 等)定义的模板,则只需单击几下即可构建和部署代码,除此之外的选项不存在。Atlassian 确实鼓励一个似乎是图表和 webhook 混合到其他服务的应用程序市场。在我写这篇文章时,图表上的顶级应用程序会将 Bitbucket 与 Jenkins 连接起来,大概是为了做一些无法在墙内快速完成的事情。

Pipelines 的主要优点是速度,Atlassian 已预先设计从代码到运行部署的大多数主要途径,只需花费几美元就可以使用。很难比较使用 Bitbucket 的成本,因为构建只需几分钟,就像大多数无服务器模型一样,团队通常会使用一组实例来处理 Jenkins 构建。

GitLab CI / CD

Atlassian 最大的竞争对手之一是 GitLab。GitLab 的构建,测试和部署机制同样直接连接到其 Git 存储库,因此可以根据规则触发。该过程主要围绕 Docker 容器构建,可以大大简化围绕 Jenkins 构建必须完成的一些配置工作。

构建任务可以针对任何语言,但必须由 GitLab Runner 触发,GitLab Runner 是一个用 Go 编写的自动缩放工具,适用于大多数平台。这种灵活性意味着可以在其他计算机上触发任何任务,这对于精心设计的架构而言可能非常有用,这些架构不仅仅提供微服务。

定价与级别捆绑在一起以满足需求,最高级别可以获得最佳功能,比如安全仪表板和在共享机器集群上构建 50,000 分钟,部分流程中使用自己的计算机或在其他云中使用单独的实例是免费的。

CircleCI

许多持续集成工具专注于在 Linux 环境中构建代码。CircleCI 既可在 Linux 环境中构建和提供,也可以构建 Android 应用程序以及 Xcode(适用于 iOS,MacOS,tvOS 或 watchOS)。

CircleCI 使用 Docker,在其所有层次中为代码配置测试环境。构建从新容器开始,所有测试也是如此,Mac 工作在类似的虚拟机中,避免了配置中的一些问题。

定价主要集中在构建的 CPU 数量上。用户数和存储库数量上限为无穷大,但构建分钟数和容器数是计量的。第一个容器是免费的,可以在其中运行一个构建,如果想要更多并行性或更高吞吐量,需要收费。

Travis CI

如果构建需要在 Windows 机器上测试的代码,那么 Travis CI 可以提供一站式服务。该公司已经提供了一段时间的 MacOS 和 Linux 选项,刚刚推出 Windows 选项,让生成更多代码变得更加简单。

目前,Linux 代码支持 Ubuntu 基本版本,Mac 代码以 OS X,Xcode 和 JDK 的十几种组合之一运行。Windows 代码只支持一个版本的 Windows Server(1803)。Travis CI 提供 30 多种语言支持列表,并构建预先配置且可以运行的规则。

定价基于一次执行的并发任务数,但这些构建可以占用的分钟数没有正式限制。定制化工作没有免费选项,但开源项目永远免费,这可能是尝试 Travis CI 最简单的方法。

Azure Pipelines

虽然,Azure 可能没有太多提供 ENIAC 程序员,但确实为代码提供 Microsoft、Linux 和 MacOS 路径。该堆栈包含 Docker 容器和 Azure 硬件。如果更喜欢命令行,则可以使用 YAML 指定。

有免费并行任务试用,1800 分钟的构建时间。如果想要更多的并行性或更多构建时间则需要付费。

CodeShip

使用持续集成工具时,配置任务列表通常是最大的挑战。CodeShip 在两个服务级别采用两种不同的方法。基础版本计划包括大量自动化和预配置以及图形用户界面,用于设置任务的大致轮廓。高级版本允许配置和用于定义构建环境的 Docker 容器,可以选择将多少个构建专用于任务以及可能的配置。

基础版本提供免费套餐,包括一台构建机器,无限制项目和人员,但每月只有 100 个构建。如果超过 100 个项目,并希望在一个月内完成所有项目,则需要付费。一旦付费,就没有构建数量或者花费多少时间的上限,只需选择构建和测试即可处理任务。

Sauce Labs

以上大多数工具集中在编排从存储库到部署的代码流,Sauce Labs 则专注于测试。基于云的服务提供了各种各样的组合,以确保一切正常。如果想在 Windows 10 上运行的 Firefox 58 上进行测试,或者在 MacOS 上的 Firefox 56,只要选择 Java,Node,Ruby 或 PHP 等其中之一,测试脚本就可以用选择的语言编写,云将并行定位每个处理器。 Sauce Labs 专门将测试与其他 CI 工具或管道集成,因此可以在本地运行 Jenkins,然后将测试委托给 Sauce Labs。

Jenkins and Hudson

在云中启动持续集成最简单的方法之一是租用服务器实例并启动 Jenkins 或 Hudson。二者很久以前就开始用作测试 Java 代码的程序,当开发人员和 Oracle 之间出现争议时,其分成了两个阵营,开发人员需要认真查看开源许可。

虽然 Jenkins 和 Hudson 可能已经开始作为构建 Java 项目的工具,但其早已超越这个利基市场,并可处理几乎所有语言,有数千个插件来处理构建、打包、测试和部署。代码是开源的,因此使用时不需要额外付费,只需支付服务器费用和配置时间。

https://www.infoworld.com/article/3341320/ci-cd/cicd-as-a-service-10-tools-for-continuous-integration-and-delivery-in-the-cloud.html?nsdr=true&page=2

点个好看少个 bug返回搜狐,查看更多

责任编辑:

python进程管理工具 ci_推荐 10 个好用的 CI/CD 工具相关推荐

  1. vs 调试 无法加载自定义可视化工具_推荐 5 款好用的REST API工具

    作者 | Marta Krzyk 首发|架构头条 译者 | 王强 策划 | 小智 市面上可用的 REST API 工具选项有很多,我们来看看其中一些开发人员最喜欢的工具. 1 API 定义 Swagg ...

  2. 2021好用的CI/CD工具推荐清单

    原文 "Quality at Speed" 是软件开发中的新规范. 企业正在朝着DevOps方法论和敏捷文化迈进,以加快交付速度并确保产品质量. 在DevOps中,连续和自动化的交 ...

  3. 推荐一些顶级的开源CI/CD工具

    持续集成.持续交付和持续部署(CI/CD)在开发社区中已经存在多年.有些组织已经有相应的运营工具,但许多没有.对于大多数组织来说,运营团队必须像开发团队一样熟悉CI/CD工具和实践. CI/CD实践对 ...

  4. k8s原生的CI/CD工具tekton

    Tekton是什么 Tekton是一个谷歌开源的kubernetes原生CI/CD系统,功能强大且灵活,开源社区也正在快速的迭代和发展壮大.google cloud已经推出了基于Tekton的服务(h ...

  5. 你所熟知的CI/CD工具都是有哪些?

    你所熟知的CI/CD工具都是有哪些? https://www.zhihu.com/question/296006908/answer/562263043 推荐一些顶级的开源CI/CD工具,这里只是对这 ...

  6. 谁才是世界上最好的 CI/CD 工具?

    作者 | 韩骏 责编 | 胡巍巍 出品 | CSDN(ID:CSDNnews) 谁才是世界上最好的 CI/CD 工具?TeamCity.Jenkins.Travis CI.AppVeyor 或是 Az ...

  7. 2020年务必要了解的最好用的14款CI/CD工具

    "Quality at Speed" 是软件开发中的新规范. 企业正在朝着DevOps方法论和敏捷文化迈进,以加快交付速度并确保产品质量.在DevOps中,连续和自动化的交付周期是 ...

  8. 开发人员必知的5个CI/CD工具

    一旦你选择了最好的CI/CD工具,你将继续你的DevOps生命周期.如果操作得当,它将能够提高产品质量并鼓励你的团队充满自信地进行发布游戏. 软件工程的最新规范是"以更快的速度同时保证产品质 ...

  9. CI / CD工具的简要历史

    Jenkins (在与Oracle发生纠纷后从Hudson分叉)已经存在了很长的时间,并已成为创建持续集成(CI)和持续交付/部署(CD)管道的领先平台. 其背后的想法是,我们应该创建执行某些操作(例 ...

最新文章

  1. C# ASP.Net 设置外网访问
  2. Vue—基础概念—路由(vue-router)
  3. How does setModel and getModel work in Fiori
  4. 小觅双目相机如何使用_MYNT EYE S小觅双目摄像头标准(彩色)版结构光双目深度惯导相机3D...
  5. 移动平台前端开发总结(针对iphone,Android等手机)
  6. mysql二进制包安装mysql_基于linux使用mysql二进制包安装mysql
  7. 网络基础知识(黑马教程笔记)-5-路由
  8. 数据挖掘06-基于标准差和箱体图的单指标异常点检测【原理、数据及代码】
  9. Android 外网远程连接真机进行开发调试
  10. 上海联通宽带使用公网IP进行端口映射及国际出口测试等记录
  11. swf 格式Flash 动画播放器在Android上的实现
  12. 边缘计算简介以及几款边缘计算开源平台
  13. 【单片机毕业设计】【mcuclub-jj-015】基于单片机的风扇的设计
  14. 语音识别中Chain Model的原理和实践
  15. arcpy_根据excel批量修改字段别名
  16. 拉卡拉支付:推出支付产业互联网新大门
  17. windows中通过xshell上传文件到Linux中
  18. 开题报告PPT怎么制作
  19. carbon安装win7 thinkpad x1_联想ThinkPad New X1 Carbon安装win7系统教程
  20. 各种接地概念、方法你了解吗?

热门文章

  1. C# WinForm 设置DataGridView选中指定行
  2. android 反编译 重打包,一键轻松反编译解包+重打包安卓APP 神器~
  3. Excel学习笔记5||日期时间函数NOW、DATE、DATEDIF、WEEKDAY... ...
  4. Bag of Word闲谈
  5. Springboot毕业设计毕设作品,果蔬大全和智能识别系统 开题报告
  6. 王叁寿被公安局带走调查、高管自曝公司资产多为空壳?九次方大数据集团回应来了:传言不实!...
  7. 深入详解Struts2——struts.xml配置之Result配置详解
  8. postgresql保姆级安装教程
  9. python not defined怎么解决_数据量太大?散点图装不下怎么办?用Python解决数据密度过大难题
  10. 想不通,将离职的同事组织散伙饭,唯独没喊平日关系不错的我