什么是CI/CD?它们与敏捷开发和devops的关系?

现在某些大型公司中软件的开发和发布已经形成了一套标准流程,其中敏捷开发和DevOps是更好更快发布产品的常用的两种理念,而CI和CD是实现这两种理念的一种方法。他们之际的关系可以粗暴的用下图表示:

一、什么是CI?

1、定义

CI是Continuous integration的简称,持续集成指频繁地(一天多次)将代码集成到主干,其实就是将编码、代码的编译、打包、单元测试执行、静态代码的分析,甚至包括自动化的功能性测试等,这一套动作将其自动化运行起来的过程叫持续集成。核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。CI的目得是让产品可以快速迭代,同时还能保持高质量。CI流程如下图:

2、好处

(1)快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。

(2)防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

3、总结

持续集成并不能消除 Bug,而是尽早发现bug。

二、什么是CD?

1、定义

CD包括Continuous Delivery(持续交付)和Continuous Deployment(持续部署)

(1)Continuous Delivery(持续交付)

持续交付可以看作持续集成的下一步,指频繁地将软件的新版本,交付给质量团队或者用户,以供评审,如果评审通过代码进入待生产部署状态,也就是说不管怎么更新,软件具备随时交付到生产环境的能力,但还没有真正部署到生产。

(2)Continuous Deployment(持续部署)

持续部署是持续交付的下一步,指代码通过评审以后可自动部署到生产环境,也就是说代码具备随时部署到生产的能力。持续部署的前提是能自动化完成测试、构建、部署等步骤。持续部署是自动,持续部署是持续交付的最高阶段

三、持续集成、持续交付、持续部署三者关系

持续交付不可以了解为流水线,持续集成CI与持续交付Continuous Delivery的区别可以粗暴的认为:持续交付=持续集成+测试策略。持续交付表示的是一种能力,而持续部署则是一种方式。


http://www.taodudu.cc/news/show-2613235.html

相关文章:

  • 如何在手机下载微博APP中视频?【最新有效方法】
  • 微博视频下载到本地
  • 微博视频自动投稿视频社区大师软件下载
  • 简单三步下载网页微博中的视频
  • Python下载新浪微博视频(流式下载)
  • python微博视频爬取
  • 分享一段可以直接下载新浪微博视频的小程序
  • 微博视频号搬砖项目,单号月入1000+!
  • 微博视频爬虫
  • 新浪微博视频下载教程
  • 如何用python爬取下载微博视频_程序员徒手用python教你爬取新浪微博,一天可抓取 1300 万条数据...
  • 微博音视频下载与合并
  • 爬取微博视频页并批量下载python+requests+ffmpeg(连接视频和音频)
  • 【郝生活】如何下载微博视频(PC)
  • 手把手教你批量下载微博视频
  • QQ邮箱添加网易邮箱
  • 腾讯QQ邮箱、网易163邮箱配置客户端(Windows自带邮件)教程
  • discuz 论坛配置 QQ/163 网易邮箱
  • qq邮箱,网易邮箱,smtp邮箱发邮件
  • 用qq账号和密码实现登录网易云音乐
  • SpringBoot 中使用 网易邮箱 或 qq邮箱 发送信息
  • 网易云/QQ音乐歌单转移到Apple Music内
  • QQ音乐、网易云音乐、酷狗音乐歌单导入到Spotify
  • SUDA歌单管理软件,支持Spotify\Tidal\QQ\网易云导入导出歌单
  • 酷狗音乐、QQ音乐、网易云音乐API
  • Nonebot QQ机器人插件八:点歌(网易云音乐)
  • 用QQ邮箱接收网易163企业邮箱的邮件
  • 网易邮箱大师添加qq邮箱
  • OutLook添加网易邮箱,QQ邮箱
  • 网易云/QQ音乐导入Apple Music

什么是CI/CD?它们与敏捷开发和devops的关系?相关推荐

  1. DevOps笔记-06:什么是CI/CD?它们与敏捷开发和devops的关系?

    什么是CI/CD?它们与敏捷开发和devops的关系? 现在某些大型公司中软件的开发和发布已经形成了一套标准流程,其中敏捷开发和DevOps是更好更快发布产品的常用的两种理念,而CI和CD是实现这两种 ...

  2. 敏捷开发、DevOps和云计算(四)

    1.4敏捷实践 敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方法. 为什么说是以人为核心? 我们大部分人都学过瀑布开发模型,它是以文档为驱动的,为什么呢?因为在 ...

  3. 五分钟理解瀑布开发、敏捷开发和Devops

    瀑布开发.敏捷开发.Devops概述 无论是瀑布式开发.敏捷开发还是DevOps,整个流程都分为设计.开发.测试和部署四个部分,只不过各个部分的开始和结束时间节点不同而已!下图很好地解释了这一点. 上 ...

  4. 敏捷开发与 DevOps 实战

    点击观看大咖分享 随着互联网.移动互联网的浪潮,软件工程从瀑布到敏捷发生了巨大的变化,服务器架构也从 IOE 演变到微型机,又发展为云计算,运维成本越来越低,持续部署逐渐流行起来.本课程主要讲解敏捷开 ...

  5. CI/CD --- 什么才是真正的自动化平台

    近2年在软件开发中比较火的两个术语,一个是敏捷开发,另外一个就是CI/CD了:敏捷开发顾名思义就是"以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发".那CI/CD(C ...

  6. 【壹个小技巧】一看就会的CI/CD :Github Actions

    什么是 CI/CD? 我这里先不说概念,先说一个平时开发的场景问题: 我们平时开发一个项目,经常会遇到这些"小"问题: 就是如何保证自己的项目是正确的,至少拿给别人的时候,可以编译 ...

  7. 自动部署 管道 ci cd_自动化测试在CI CD管道中的作用

    自动部署 管道 ci cd 业界广泛采用的软件开发实践:持续集成和持续部署可确保良好地交付产品并经常交付. 常规代码提交需要常规/连续测试,而如果忽略它,则可能导致非弹性基础结构. 如何交付坚固的CI ...

  8. 自动化测试在CI CD管道中的作用

    业界广泛采用的软件开发实践:持续集成和持续部署可确保良好地交付产品并经常交付. 常规代码提交需要常规/连续测试,而如果忽略它,则可能导致基础架构无法恢复. 如何交付坚固的CI CD管道? 对于许多公司 ...

  9. CI/CD是什么?如何理解持续集成、持续交付和持续部署

    CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法.CI/CD 的核心概念是持续集成.持续交付和持续部署.作为一个面向开发和运营团队的解决方案,CI/CD 主要针对在集成新代码时 ...

  10. 企业级 CI/CD 工具部署 Serverless 应用的落地实践

    作者 | 李鑫(缤智) 阿里云高级技术专家 来源 | Serverless 公众号,整理自<Serverless 技术公开课> 背景知识 通过以往几节课程的学习,相信大家对于 SAE 平台 ...

最新文章

  1. 基础算法 —— 贪心算法
  2. Android --- 当 item 的数量增加时,ListView 并不能根据所有 item 一共的数量来撑开布局
  3. tensorflow实现原理
  4. iOS_11_tableViewCell使用alertView变更数据
  5. Google小组研发模式分析 1
  6. [计组]寄存器的基本含义
  7. 一步一个脚印学习WCF系列之WCF概要—生成元数据与代理(五)
  8. java 管道流_Java IO7:管道流、对象流
  9. UML 简单易懂 教程
  10. ubuntu install wiznote
  11. java异或_干货:Java异或运算符的使用方法
  12. 解决双击excel文件打开多个excel.exe进程的问题
  13. 如何获得TTF字体中字符对应的编码?
  14. 阿里云查找或修改对应实例的远程连接密码
  15. 本地调试微信授权跳转
  16. 2022百度之星程序设计大赛 - 复赛 1001 子序列
  17. 清除office多余的激活信息
  18. 《深入理解计算机系统》漫游指南
  19. 分布式存储系统-Ceph简单分析
  20. 【八股文】Linux篇

热门文章

  1. 广西壮族自治区公安厅信息中心异地容灾系统(三期)项目招标
  2. STM32驱动BMP280模块
  3. HighCharts一个基于JavaScript的图表插件
  4. Vue 的双向数据绑定原理是什么?
  5. Android API19 设置Alarm闹钟
  6. IT民工,你的未来在哪里?
  7. mysql 单表 子查询_04 数据库入门学习-单表查询、多表查询、子查询(示例代码)...
  8. CSS属性分类扫描-表格属性
  9. 微信Mac版客户端(支持查看朋友圈)
  10. python学完基础后实践练习:阿拉伯数字金额转人名币大写