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

    文章

    715

    浏览量

    30188
  • 代码
    +关注

    关注

    30

    文章

    4983

    浏览量

    74534
  • devops
    +关注

    关注

    0

    文章

    157

    浏览量

    12976

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在私有化与国产化约束下重建 DevOps 工具链:从代码托管到 CI 的一体化实践

    在金融、政务、货车和工业软件中,DevOps并不是一个“从0到1搭建搭建工具链团队”的简单命题,而是一次“受约束条件极多的系统重构”。 这些约束并非抽象的理论,而是具体到日常研发的每一条采购:代码
    的头像 发表于 04-30 10:14 244次阅读

    打破 DevOps 局部效率陷阱 构建端到端价值流交付体系

    了基础CI/CD工具链价值建设,业务交付的降本增效效果已经达到预期,研运的短板已经阻碍了业务高速发展的核心一步。 ##一、企业DevOps实践面临的三大共性痛点 当前企业DevOps
    的头像 发表于 04-21 17:19 418次阅读

    车载/工业软件多版本交付困境:用CI/CD流水线实现工程化有序发布

    车辆/工业软件多版本交付陷入困境:用CI/CD模拟实现工程化社区发布 在智能汽车与工业控制领域,软件正从约束功能成为核心竞争力。ECU多版本补充、产线软件共享、跨团队良好开发、功能安全等双重,让多
    的头像 发表于 04-09 09:42 297次阅读

    亚马逊云科技Amazon DevOps Agent智能运维助手正式可用

    科技、多云及本地环境,快速排查故障、主动预防问题,优化应用可靠性与性能,并高效处理各类SRE任务。 运维团队常因繁琐排障、多工具数据比对、手动分类告警耗费大量时间,挤占创新与战略工作精力。Amazon DevOps Agent可像资深DevOps工程师那样排查问题。它能够
    的头像 发表于 04-07 14:59 210次阅读

    TESSY v5.1 新功能详解 :引入 Hyper Coverage 与基于变更的测试,大幅缩短 CI 测试时间

    在嵌入式 C/C++ 软件开发中,CI/CD 流水线回归测试耗时长、复杂代码变体的覆盖率难以完整统计,是许多测试团队面临的真实挑战。自动化单元测试与集成测试工具 TESSY v5.1 针对这些核心测试痛点推出了多项实用更新。
    的头像 发表于 04-03 10:29 459次阅读
    TESSY v5.1 新功能详解 :引入 Hyper Coverage 与基于变更的测试,大幅缩短 <b class='flag-5'>CI</b> 测试时间

    电动车NFC一键启动(仪表总成、电源锁)_Ci522

    电动车NFC一键启动 NFC智能刷卡解锁,为你解决四处寻找钥匙的困扰,提升电动车智能化 Ci522是一种非接触式读写芯片,工作频率为13.56MHz。支持读a卡(ci523支持读a/b卡),可用
    发表于 02-28 15:11

    高速CMOS译码器:CD74HC137、CD74HCT137、CD54HC237、CD74HC237、CD74HCT237的深度解析

    高速CMOS译码器:CD74HC137、CD74HCT137、CD54HC237、CD74HC237、CD74HCT237的深度解析 在电子
    的头像 发表于 01-16 15:00 847次阅读

    Texas Instruments CD4054B、CD4055B、CD4056B:高性能CMOS液晶显示驱动器解析

    Texas Instruments CD4054B、CD4055B、CD4056B:高性能CMOS液晶显示驱动器解析 在电子设计领域,显示驱动电路是实现信息可视化的关键部分。Texas
    的头像 发表于 01-16 14:05 638次阅读

    CD4051B、CD4052B、CD4053B:高性能模拟复用器与解复用器的全面解析

    CD4051B、CD4052B、CD4053B:高性能模拟复用器与解复用器的全面解析 在电子设计的广阔领域中,模拟复用器和解复用器扮演着至关重要的角色。它们能够在多个信号源之间进行切换,实现信号
    的头像 发表于 01-16 14:05 705次阅读

    深入剖析CD54HC4538/CD74HC4538/CD54HCT4538/CD74HCT4538:高性能双可重触发精密单稳态多谐振荡器

    深入剖析CD54HC4538/CD74HC4538/CD54HCT4538/CD74HCT4538:高性能双可重触发精密单稳态多谐振荡器 在电子设计领域,单稳态多谐振荡器是一种常用的电
    的头像 发表于 12-25 17:30 1449次阅读

    高速CMOS逻辑双单稳态多谐振荡器CD54HC221、CD74HC221和CD74HCT221的设计指南

    高速CMOS逻辑双单稳态多谐振荡器CD54HC221、CD74HC221和CD74HCT221的设计指南 在电子设计领域,选择合适的多谐振荡器对于实现精确的定时和脉冲控制至关重要。CD
    的头像 发表于 12-23 16:00 1027次阅读

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

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

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

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

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

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

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

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