0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CI、CD、DevOps关系

Linux爱好者 来源:Linux爱好者 作者:Linux爱好者 2020-11-12 15:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

DevOps

DevOps是Development和Operations的组合,是一种方法论,是一组过程、方法与系统的统称,用于促进应用开发、应用运维和质量保障(QA)部门之间的沟通、协作与整合。以期打破传统开发和运营之间的壁垒和鸿沟。



DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。具体来说,就是在软件交付和部署过程中提高沟通与协作的效率,旨在更快、更可靠的的发布更高质量的产品。

也就是说DevOps是一组过程和方法的统称,并不指代某一特定的软件工具或软件工具组合。各种工具软件或软件组合可以实现DevOps的概念方法。其本质是一整套的方法论,而不是指某种或某些工具集合,与软件开发中设计到的OOP、AOP、IOC(或DI)等类似,是一种理论或过程或方法的抽象或代称。

CI

CI的英文名称是Continuous Integration,中文翻译为:持续集成。

CI中,开发人员将会频繁地向主干提交代码,这些新提交的代码在最终合并到主干前,需要经过编译和自动化测试流进行验证。

持续集成(CI)是在源代码变更后自动检测、拉取、构建和(在大多数情况下)进行单元测试的过程。持续集成的目标是快速确保开发人员新提交的变更是好的,并且适合在代码库中进一步使用。CI的流程执行和理论实践让我们可以确定新代码和原有代码能否正确地集成在一起。

CD

CD可对应多个英文名称,持续交付Continuous Delivery和持续部署Continuous Deployment ,以下分别介绍。

查了一些资料,关于持续交互和持续部署的概念比较混乱,以下的概念总结按大部分的资料总结而来。

持续交付

完成 CI 中构建及单元测试和集成测试的自动化流程后,持续交付可自动将已验证的代码发布到存储库。为了实现高效的持续交付流程,务必要确保 CI 已内置于开发管道。持续交付的目标是拥有一个可随时部署到生产环境的代码库。

在持续交付中,每个阶段(从代码更改的合并,到生产就绪型构建版本的交付)都涉及测试自动化和代码发布自动化。在流程结束时,运维团队可以快速、轻松地将应用部署到生产环境中或发布给最终使用的用户。

持续部署

对于一个成熟的CI/CD管道(Pipeline)来说,最后的阶段是持续部署。作为持续交付——自动将生产就绪型构建版本发布到代码存储库——的延伸,持续部署可以自动将应用发布到生产环境。

持续部署意味着所有的变更都会被自动部署到生产环境中。持续交付意味着所有的变更都可以被部署到生产环境中,但是出于业务考虑,可以选择不部署。如果要实施持续部署,必须先实施持续交付。

持续交付并不是指软件每一个改动都要尽快部署到产品环境中,它指的是任何的代码修改都可以在任何时候实施部署。

持续交付表示的是一种能力,而持续部署表示的则一种方式。持续部署是持续交付的最高阶段

Agile Development

另外一个概念,也就是所谓的敏捷开发,似乎还没有所谓的简称,而且这个称呼似乎在国内被滥用了。敏捷开发着重于一种开发的思路,拥抱变化和快速迭代。如何实现敏捷开发,目前似乎尚没有完善的工具链,更多的是一种概念性,调侃的说法“既想马儿跑得快,又想马儿不吃草”的另外一种说法。

上图揭示了敏捷开发的一些内涵和目标,似乎有点儿一本真经的胡说八道的意思。

CI、CD、DevOps关系

概念性的内容,每个人的理解都有所不同。就好比CGI 这个词,即可以理解成CGI这种协议,也可以理解成实现了CGI协议的软件工具,都没有问题,咬文嚼字过犹不及。留意下图:

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件开发
    +关注

    关注

    0

    文章

    670

    浏览量

    29860
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73148
  • devops
    +关注

    关注

    0

    文章

    130

    浏览量

    12777

原文标题:DevOps、CI、CD都是什么鬼?

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    高速CMOS逻辑双可重触发单稳态多谐振荡器:CD54/74HC123、CD54/74HCT123、CD74HC423、CD74HCT423深度解析

    高速CMOS逻辑双可重触发单稳态多谐振荡器:CD54/74HC123、CD54/74HCT123、CD74HC423、CD74HCT423深度解析 在电子设计领域,单稳态多谐振荡器是一
    的头像 发表于 11-27 18:55 1436次阅读
    高速CMOS逻辑双可重触发单稳态多谐振荡器:<b class='flag-5'>CD</b>54/74HC123、<b class='flag-5'>CD</b>54/74HCT123、<b class='flag-5'>CD</b>74HC423、<b class='flag-5'>CD</b>74HCT423深度解析

    CD54HC221、CD74HC221、CD74HCT221:高速CMOS双单稳态多谐振荡器的详细解析

    CD54HC221、CD74HC221、CD74HCT221:高速CMOS双单稳态多谐振荡器的详细解析 在电子设计领域,高速CMOS逻辑器件一直是工程师们的得力助手。今天,我们将深入探讨
    的头像 发表于 11-26 15:06 386次阅读

    CI/CT自动化测试解决方案

    北汇信息可以提供Jenkins、Gitlab Runner CI和自研平台等的CI/CT整体解决方案,通过CI/CT自动化测试执行、测试策略定制、测试任务自动调度、测试系统资源统筹、测试过程闭环
    的头像 发表于 11-12 16:01 1196次阅读
    <b class='flag-5'>CI</b>/CT自动化测试解决方案

    北汇信息汽车电子CI/CT平台案例三则

    北汇信息具备十多年测试行业业务积累,CI/CT自动化测试解决方案已在各大OEM和Tier 1落地,分享三则实际案例。
    的头像 发表于 10-24 15:06 276次阅读
    北汇信息汽车电子<b class='flag-5'>CI</b>/CT平台案例三则

    CI/CD实践中的运维优化技巧

    在数字化转型的浪潮中,CI/CD已经成为现代软件开发的基石。然而,真正能够发挥CI/CD威力的,往往在于那些不为人知的运维优化细节。本文将深入剖析C
    的头像 发表于 09-18 15:05 619次阅读

    Texas Instruments CD74HC137/CD74HCT137 3线至8线解码器解复用器数据手册

    Texas Instruments CD74HC137/CD74HCT137 3线至8线解码器解复用器是高速硅栅CMOS解码器,非常适合用于数据路由或存储器地址解码应用。两个电路都有媲美低功耗肖特基
    的头像 发表于 07-17 10:36 582次阅读
    Texas Instruments <b class='flag-5'>CD</b>74HC137/<b class='flag-5'>CD</b>74HCT137 3线至8线解码器解复用器数据手册

    老文章新视角:从静态测试到CI/CT生态的进化

    从静态测试工具到CI/CT生态的进化,不仅是技术功能的叠加,更是软件工程方法论的范式跃迁。未来汽车行业的CI技术将不再是简单的“工具链拼接”,而是以虚拟化测试为底座、场景化为导向、标准化为纽带
    的头像 发表于 05-26 10:50 1455次阅读
    老文章新视角:从静态测试到<b class='flag-5'>CI</b>/CT生态的进化

    Argo CD入门实战指南

    Argo CD 是针对 Kubernetes 的声明式 GitOps 持续交付工具。
    的头像 发表于 05-15 17:03 1055次阅读
    Argo <b class='flag-5'>CD</b>入门实战指南

    Jenkins和Docker自动化CI/CD全流程

    要想做到一个高效的CI/CD流程,需要有能力整合DevOps工具链及多环境适配,并且设计之初以自动化为原则,如一键部署、一键升级。
    的头像 发表于 05-14 11:50 716次阅读
    Jenkins和Docker自动化<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>全流程

    模型测试全流程实战沙盘,赋能CI/CD及SiL测试 ——TPT Workshop邀请函

    北汇信息将于4月18日在上海市闵行区虹桥镇紫秀路100号4幢3C室举办为期1天的“模型测试全流程实战沙盘,赋能CI/CD及SiL测试”相关内容的交流探讨,诚邀各位新老客户朋友参加!
    的头像 发表于 03-26 15:44 512次阅读
    模型测试全流程实战沙盘,赋能<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>及SiL测试 ——TPT Workshop邀请函

    【Android开发者必看】使用JetBrains TeamCity为Android项目构建CI/CD管道详细指南

    CI/CD】定义明确的构建、测试和部署工作流对Android应用的开发至关重要。JetBrains TeamCity是一个用于构建可靠管道的CI/CD平台,可与流行的Android开
    的头像 发表于 03-21 15:42 996次阅读
    【Android开发者必看】使用JetBrains TeamCity为Android项目构建<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>管道详细指南

    云服务器Flexus X实例,Docker集成搭建Jenkins CI/CD平台

    Jenkins 是一个开源的自动化服务器,用于持续集成(CI)和持续交付(CD)软件项目。它允许开发人员在软件开发过程中自动化各种任务,如构建、测试和部署,从而提高开发效率和软件质量。
    的头像 发表于 12-29 15:43 671次阅读
    云服务器Flexus X实例,Docker集成搭建Jenkins <b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>平台

    CI522 NFC刷卡电动车仪表方案

    电动车NFC一键启动 NFC智能刷卡解锁,为你解决四处寻找钥匙的困扰,提升电动车智能化。 Ci522是一款高度集成的13.56MHz非接触式读写器芯片,专为电动车NFC一键启动系统(包括仪表总成
    发表于 12-26 15:52

    CI/CD方案:推动智能汽车开发的高效利器

    在智能化和自动驾驶技术飞速发展的背景下,汽车软件开发的复杂性正以前所未有的速度增长。面对市场对效率、质量和快速迭代的高需求,传统开发模式已然捉襟见肘。作为提升开发效率和质量的核心工具,CI/CD
    的头像 发表于 12-18 10:03 1386次阅读
    <b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>方案:推动智能汽车开发的高效利器

    汽车软件DevOps解决方案

    经纬恒润汽车软件DevOps解决方案是专为现代汽车行业设计的一套集成化需求、开发、测试、部署、OTA与监控,旨在加速软件开发流程,提高软件质量和安全性,同时确保整个生命周期的高效性和灵活性。
    的头像 发表于 12-16 10:33 2180次阅读
    汽车软件<b class='flag-5'>DevOps</b>解决方案