一张图可以很好地解释CI,CD,Devops之间的关系。

按照软件开发到发布的基本流程的阶段,结合当下流行的敏捷开发模式,那么从code到代码release的阶段可以看做是CI的过程。它的目的是保证开发人员提交的code可以通过编译并且跑通自动化测试的一些集成测试,从而保证代码可持续的提交以及build 环境的clean。 而continous delivery和continous development经常会混用,他们都是基于CI的更进一步。是为了确保软件release的质量,通常会跑一些回归测试等。一般情况下continous deployment更针对web相关的应用或者SAAS的应用,强调从发布到产品的过程

对于较大的产品,CI可能在不同的子系统中都有,而CD一般是针对产品级别的。

下面的图中左边一般是CI,而从左边到在右边则是conver CD的内容

一般来说从code到build再到产品的发布,这几个过程的环节是这样的。

但针对continous delivery 和continous deployment也有不同的观点,认为两者存在细微的差别,见下图:

但终极来说continous deployment应该是每个公司的最终目标,它能够保证每一个code 都是可以delivery的而不单单是每一个code都尽快的delivery。

在快速获取用户反馈以及争取市场的情况下,Continous deployment成为一个很热门的话题。但不管怎么变,CI是它的基础,而CI又依赖于automation test。

===========================================================================================================================================华丽丽的分界线,Wiki上一篇很好的关于各种CI Tool的比较,我的大爱呀~~~可惜没办法去试验各种工具。

http://en.wikipedia.org/wiki/Comparison_of_Continuous_Integration_Software

Continous Integration.Continous Development,Continous Delivery之间的关系相关推荐

  1. 通过构建城市来解释HTML,CSS和JavaScript之间的关系

    by Kevin Kononenko 凯文·科诺年科(Kevin Kononenko) 通过构建城市来解释HTML,CSS和JavaScript之间的关系 (The relationship betw ...

  2. 编译+构建+链接+运行之间的关系分析

    编译+构建+链接+运行之间的关系分析 源文件+编译+部署+测试+打包 Maven+default: 验证(validate)+编译(compile)+测试(test)+打包(package)+验证(v ...

  3. WSGI、Flask及Werkzeug三者之间的关系

    目录 一.WSGI是什么? 二.Werkzeug是什么 三.Flask的WSGI实现 一.WSGI是什么? WSGI是一套接口规范.一个WSGI程序用以接受客户端请求,传递给应用,再返回服务器的响应给 ...

  4. 一次性掌握JDK、JRE、JVM的概念以及三者之间的关系【2021整理】

    一.JDK.JRE.JVM概念解析 JDK(Java Development Kit):Java开发工具包,开发人员用来构建Java应用程序的软件包. JRE(Java Runtime Environ ...

  5. React学习:组件之间的关系、参数传递-学习笔记

    文章目录 React学习:组件之间的关系.参数传递-学习笔记 父到子传递参数 子-父 父-孙 兄弟组件传参 React学习:组件之间的关系.参数传递-学习笔记 父到子传递参数 <!DOCTYPE ...

  6. 正确理解 AsyncTask,Looper,Handler三者之间的关系(基于android 4.0)

    Looper 和Handler 是理解好AsyncTask的一个基础,我们可以先从这里开始,先给出一个主线程和子线程互相通信的例子. 1 package com.example.loopertest; ...

  7. redux,react-redux之间的关系

    Redux 和react-redux之间的关系 首先要理解的是:redux 是独立的,和react没有什么关系,想要在react中使用redux需要进行一些列的操作把它们连接起来,这一些列的操作即为: ...

  8. Spring各模块的功能及互相之间的关系

    目录 spring-framework 的源码目录 Spring FrameWork 结构图 各个模块功能(该部分参考结构图来看) 模块概述(该部分参考源码目录来看) 核心容器 AOP和Instrum ...

  9. Java 入门之1:浅谈Java的最基本概念及JDK、JRE、JVM之间的关系和区别

    目录 前言: 一句话介绍Java语言的故事 一句话概括Java的特性和优势 两句话阐述JAVA_HOME环境变量和classpath环境变量的作用是什么 简述JDK.JRE.JVM之间的关系 Java ...

最新文章

  1. ggsurvplot图片输出
  2. 关于numy中np.expand_dims方法的理解?
  3. DeepMind推出首个商业产品,30秒内准确诊断眼疾!
  4. GUI编程笔记(java)04:GUI(HelloWorld)窗体案例
  5. if you can not make a solid foundation
  6. django中的反向解析的好处
  7. 八位图 16位图_了解位图
  8. 最受欢迎的java技术_最受欢迎的Java环境
  9. JavaScript大杂烩4 - 理解JavaScript对象的继承机制
  10. 名为 cursor_jinserted 的游标不存在_一个工程师必须了解的测量常识,你不知道怎么行...
  11. Python安装时0x80070642问题解决
  12. 计算机视觉资料大合集
  13. 【物联网】全球SIM连接解决IoT设备换卡难问题
  14. cubeIDE快速开发流程
  15. windows 7 如何调出快速启动栏
  16. 计算机提示无法识别优盘,插入U盘显示无法识别怎么办
  17. 趣图 | 念念不忘必有回响
  18. Spring系列——@lazy注解
  19. 33.大数据可视化技术--datav、echarts
  20. 【Wi-Fi】IEEE 802.11 Standards 之 802.11a/b/g/n/ac/ax初探

热门文章

  1. -webkit-border-radius和-moz-border-radius分析
  2. C语言从入门到入土(三)
  3. 01-java设计模式知识点-上篇
  4. Docker 常用命令收录 -- 持续更新
  5. Odoo 仓库出入库 使用电子秤(地磅)称重获取数量。
  6. TableauBDP,哪个才是最适合中国用户的数据可视化分析工具?
  7. 如何查看Android API文档
  8. 微信可以显示你的足迹了,快试试
  9. 【转帖】UDIMM、RDIMM、SODIMM以及LRDIMM的区别
  10. doris报错:too many filtered rows