cicd持续集成全程_CICD-持续集成amp;持续交付
集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;
交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。
如果说等到所有东西都完成了才向下个环节交付,导致所有的问题只能再最后才爆发出来,解决成本巨大甚至无法解决。
而所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。是的问题不会放大到其他部分和后面的环节。
这种做法的核心思想在于:既然事实上难以做到事先完全了解完整的、正确的需求,那么就干脆一小块一小块的做,并且加快交付的速度和频率,使得交付物尽早在下个环节得到验证。早发现问题早返工。
持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中
即代码的零库存管理,是精益生产的精~精~精~精髓。
- 代码越早push出去,用户能越早用到,快就是商业价值;
- 用户越早用到就越早反馈,团队越早得到反馈,好坏都是有价值的输入;
- 用户不反馈,说明我们做了用户不想要的东西(通过用例跟踪)或者marketing没做好,能帮助产品市场人员调整策略;
- 代码库存越是积压,就越得不到生产检验,积压越多,代码间交叉感染的概率越大,下个release的复杂度和风险越高;
- 代码库存越多,workflow的包袱越重,管理成本越大,说敏捷越可笑。
持续 (Continuous):不断的获取反馈,响应反馈。
集成 (Integration):编译、测试、打包;
部署 (Deployment):应用组件或基本设施的代码或配置变更在产品环境生效称为“部署”;
发布 (Release):具有业务影响的功能变化对最终用户可见称为“发布”。
交付 (Delivery):可以理解为从 Deployment 到 Release 之间的阶段,更多的强调的是一种能力。开发有能力频繁的部署,业务有能力随时发布。
如何从部署到发布?
使用 特性开关(Feature Toggle) 或 灰度发布(Dark Launching) 等技巧可以使我们更加频繁地部署变更到产品环境但并不发布功能。
频繁部署可以有效降低变更带来的风险,同时业务负责人仍然能保持何时向最终用户发布功能的控制。
cicd持续集成全程_CICD-持续集成amp;持续交付相关推荐
- 集成git怎样更新代码_持续集成之理论篇
本文作者:CODING 用户 - 何健 持续集成 ?--? 大概数周前,突然有学长问我有没有接触过"持续集成". 在我脑海中,这是一个陌生的词汇,于是百度了解了一番.实际上有开发和 ...
- 15 三明治集成方法和混合策略集成方法
三明治集成方法和混合策略集成方法 前言 三明治集成方法 混合策略集成方法 总结 前言 关于集成测试方法今天我们再学习两个方法,三明治集成方法和混合策略集成方法. 三明治集成方法 采用三明治方法的优点是 ...
- 14 集成测试方法之自底向上集成方法
自底向上集成方法 前言 自底向上集成方法 前言 集成测试方法没有好坏之分,只有哪个更适合. 自底向上集成方法 自底向上集成方法是从调用的底层开始逐级的向上集成,每测试完一个族群就将其挂到上一层的模块上 ...
- 12 集成测试方法之大棒集成方法
大棒集成方法 大棒集成方法 总结 大棒集成方法 大棒集成方法先是对每一个子模块进行测试(单元测试阶段),然后将所有模块一次性的全部集成起来进行集成测试.如图,先分别对A.B.C.D.E.F.G模块进行 ...
- .net中调用esb_都是应用集成,ESB和集成引擎对医疗业务场景的“口味”为何不同?...
前言:本文由浙江省台州医院刘祉呈撰写,详细说明了集成平台核心中间件集成引擎(IE)与ESB在医疗信息化场景中的各自特点及优劣,并辅以翔实的图文业务流程场景.看完之后能对ESB和集成引擎两者有更深入的了 ...
- 环信快速集成,以及实际集成中遇到的坑
一.pod集成遇到的问题 1.直接pod 安装 pod 'EaseUI', :git => 'https://github.com/easemob/easeui-ios-hyphenate-co ...
- 基于PaaS平台的多应用自集成方案之公共数据集成
源宝导读:在明源云"天际"PaaS平台之上,可以构建.部署和运行多个业务应用,并支持多应用分离部署,以提升系统整体的性能和稳定性.本文将介绍多应用自集成解决方案以及相关的实现细节. ...
- jsf集成spring_Spring和JSF集成:MVC螺母和螺栓
jsf集成spring 过去,我曾尝试将JSF与Spring MVC集成在一起,尽管我的第一次尝试成功了,但这远非理想. 这次,我决定做出一些关键决定来帮助我集中精力: 向后兼容. 支持JSF 1.2 ...
- SpringBoot 集成FluentMyBatis 框架之集成分页功能
本文基于上一篇:SpringBoot 集成FluentMyBatis 框架之完善 SpringBoot 集成FluentMyBatis 框架之集成分页功能 FluentMyBatis 官方分页 官方提 ...
最新文章
- 二维vector的声明和初始化
- 面向机器学习的特征工程翻译版
- PHP probuf详细步骤_初识protobuf和php的相关用法
- BZOJ1734: [Usaco2005 Feb]Aggressive cows 愤怒的牛
- 【5分钟Paper】Fast强化学习和Slow强化学习
- Control Flow - Containers
- YDOOK: USB 转 TTL 串口模块接线图
- 师慧gis三维虚拟校园在高校教学管理中的应用价值
- 阿里云 centos7.2 安装openstack报错
- 数据库实验课堂作业-1.1数据定义
- 推荐一款制作H5页面的可视化工具
- Opencv3.4中使用SURF等算法使用错误的解决方法
- oracle 删除定时任务 、查询定时任务、暂停定时任务、创建定时任务
- 轻松学Android开发
- 使用UE4的nDisplay渲染到多个显示器
- 平价款的血糖血压监测工具,用它养成健康生活习惯,dido F50S Pro上手
- PTA level_01 数字加密
- 计算机原理(CPU是如何进行工作的?)
- 手机与汽车之间的控制方法
- javaScript如何在ajax外面获得ajax里面的值
热门文章
- JQuery - Animate
- 《移山之道-VSTS软件开发指南》---读书笔记
- rdd 内生分组_04、常用RDD操作整理
- python中json使用方法总结_python中的json总结
- bz2解压命令_tar 命令
- 协议关键技术_现代通信协议存高危漏洞 或殃及4G和5G手机
- hr签核系统可以用python做吗_数字与签核参考流程
- 年底了,各大电商大促会员活动反馈万能模板,必备的PSD分层格式
- 着陆页UI KitWanted,可参考的模板
- 优秀PSD电商促销BANNER模板|垂直化内容电商页面设计,需要注意哪些问题?