集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;

交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。
如果说等到所有东西都完成了才向下个环节交付,导致所有的问题只能再最后才爆发出来,解决成本巨大甚至无法解决。
而所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。是的问题不会放大到其他部分和后面的环节。

这种做法的核心思想在于:既然事实上难以做到事先完全了解完整的、正确的需求,那么就干脆一小块一小块的做,并且加快交付的速度和频率,使得交付物尽早在下个环节得到验证。早发现问题早返工。

持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中

即代码的零库存管理,是精益生产的精~精~精~精髓。

  • 代码越早push出去,用户能越早用到,快就是商业价值;
  • 用户越早用到就越早反馈,团队越早得到反馈,好坏都是有价值的输入;
  • 用户不反馈,说明我们做了用户不想要的东西(通过用例跟踪)或者marketing没做好,能帮助产品市场人员调整策略;
  • 代码库存越是积压,就越得不到生产检验,积压越多,代码间交叉感染的概率越大,下个release的复杂度和风险越高;
  • 代码库存越多,workflow的包袱越重,管理成本越大,说敏捷越可笑。

持续 (Continuous):不断的获取反馈,响应反馈。

集成 (Integration):编译、测试、打包;

部署 (Deployment):应用组件或基本设施的代码或配置变更在产品环境生效称为“部署”;

发布 (Release):具有业务影响的功能变化对最终用户可见称为“发布”。

交付 (Delivery):可以理解为从 Deployment 到 Release 之间的阶段,更多的强调的是一种能力。开发有能力频繁的部署,业务有能力随时发布。

如何从部署到发布?

使用 特性开关(Feature Toggle)灰度发布(Dark Launching) 等技巧可以使我们更加频繁地部署变更到产品环境但并不发布功能。
频繁部署可以有效降低变更带来的风险,同时业务负责人仍然能保持何时向最终用户发布功能的控制。

cicd持续集成全程_CICD-持续集成amp;持续交付相关推荐

  1. 集成git怎样更新代码_持续集成之理论篇

    本文作者:CODING 用户 - 何健 持续集成 ?--? 大概数周前,突然有学长问我有没有接触过"持续集成". 在我脑海中,这是一个陌生的词汇,于是百度了解了一番.实际上有开发和 ...

  2. 15 三明治集成方法和混合策略集成方法

    三明治集成方法和混合策略集成方法 前言 三明治集成方法 混合策略集成方法 总结 前言 关于集成测试方法今天我们再学习两个方法,三明治集成方法和混合策略集成方法. 三明治集成方法 采用三明治方法的优点是 ...

  3. 14 集成测试方法之自底向上集成方法

    自底向上集成方法 前言 自底向上集成方法 前言 集成测试方法没有好坏之分,只有哪个更适合. 自底向上集成方法 自底向上集成方法是从调用的底层开始逐级的向上集成,每测试完一个族群就将其挂到上一层的模块上 ...

  4. 12 集成测试方法之大棒集成方法

    大棒集成方法 大棒集成方法 总结 大棒集成方法 大棒集成方法先是对每一个子模块进行测试(单元测试阶段),然后将所有模块一次性的全部集成起来进行集成测试.如图,先分别对A.B.C.D.E.F.G模块进行 ...

  5. .net中调用esb_都是应用集成,ESB和集成引擎对医疗业务场景的“口味”为何不同?...

    前言:本文由浙江省台州医院刘祉呈撰写,详细说明了集成平台核心中间件集成引擎(IE)与ESB在医疗信息化场景中的各自特点及优劣,并辅以翔实的图文业务流程场景.看完之后能对ESB和集成引擎两者有更深入的了 ...

  6. 环信快速集成,以及实际集成中遇到的坑

    一.pod集成遇到的问题 1.直接pod 安装 pod 'EaseUI', :git => 'https://github.com/easemob/easeui-ios-hyphenate-co ...

  7. 基于PaaS平台的多应用自集成方案之公共数据集成

    源宝导读:在明源云"天际"PaaS平台之上,可以构建.部署和运行多个业务应用,并支持多应用分离部署,以提升系统整体的性能和稳定性.本文将介绍多应用自集成解决方案以及相关的实现细节. ...

  8. jsf集成spring_Spring和JSF集成:MVC螺母和螺栓

    jsf集成spring 过去,我曾尝试将JSF与Spring MVC集成在一起,尽管我的第一次尝试成功了,但这远非理想. 这次,我决定做出一些关键决定来帮助我集中精力: 向后兼容. 支持JSF 1.2 ...

  9. SpringBoot 集成FluentMyBatis 框架之集成分页功能

    本文基于上一篇:SpringBoot 集成FluentMyBatis 框架之完善 SpringBoot 集成FluentMyBatis 框架之集成分页功能 FluentMyBatis 官方分页 官方提 ...

最新文章

  1. 二维vector的声明和初始化
  2. 面向机器学习的特征工程翻译版
  3. PHP probuf详细步骤_初识protobuf和php的相关用法
  4. BZOJ1734: [Usaco2005 Feb]Aggressive cows 愤怒的牛
  5. 【5分钟Paper】Fast强化学习和Slow强化学习
  6. Control Flow - Containers
  7. YDOOK: USB 转 TTL 串口模块接线图
  8. 师慧gis三维虚拟校园在高校教学管理中的应用价值
  9. 阿里云 centos7.2 安装openstack报错
  10. 数据库实验课堂作业-1.1数据定义
  11. 推荐一款制作H5页面的可视化工具
  12. Opencv3.4中使用SURF等算法使用错误的解决方法
  13. oracle 删除定时任务 、查询定时任务、暂停定时任务、创建定时任务
  14. 轻松学Android开发
  15. 使用UE4的nDisplay渲染到多个显示器
  16. 平价款的血糖血压监测工具,用它养成健康生活习惯,dido F50S Pro上手
  17. PTA level_01 数字加密
  18. 计算机原理(CPU是如何进行工作的?)
  19. 手机与汽车之间的控制方法
  20. javaScript如何在ajax外面获得ajax里面的值

热门文章

  1. JQuery - Animate
  2. 《移山之道-VSTS软件开发指南》---读书笔记
  3. rdd 内生分组_04、常用RDD操作整理
  4. python中json使用方法总结_python中的json总结
  5. bz2解压命令_tar 命令
  6. 协议关键技术_现代通信协议存高危漏洞 或殃及4G和5G手机
  7. hr签核系统可以用python做吗_数字与签核参考流程
  8. 年底了,各大电商大促会员活动反馈万能模板,必备的PSD分层格式
  9. 着陆页UI KitWanted,可参考的模板
  10. 优秀PSD电商促销BANNER模板|垂直化内容电商页面设计,需要注意哪些问题?