当前位置: 首页 > news >正文

【开发流程】持续集成、持续交付、持续部署

一、开发工作流程

假设把开发流程分为以下几个阶段:
编码 -> 构建 -> 集成 -> 测试 -> 交付 -> 部署
在这里插入图片描述
如上图所示,持续集成、持续交付、持续部署有着不同的软件自动交付周期。

二、持续集成、持续交付、持续部署

1、持续集成

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

2、持续交付

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

3、持续部署

持续部署则是在持续交付的基础上,把部署到生产环境的过程自动化。

4、三者关系

将持续集成扩充到部署到生产环境就是持续交付和持续部署的概念,二者的区别即手动与自动的区别。
在这里插入图片描述

三、持续集成(CI)的价值

1、减少风险

缺陷的检测和修复变得更快,让寻找和修改bug的工作变简单(只修改系统一小部分,无需看太多代码。由于提交后就可以得到反馈,记忆很新鲜,可以进行差异调试)。同时过早的引入集成,使我们能更好的审视各个模块的接口是否满足要求,减少项目中的假定。

2、减少重复过程

由于CI将大量的工作给自动化了,那么可以让人们有时间做更多的需要动脑筋的、更高价值的工作。而且通过对重要过程自动化,克服了项目中某些成员对实现改进的抵制,有利于持续集成的推进。这样就形成了一个良性循环。
在任何时间、任何地点生成可部署的软件
对于客户来说,可以部署的软件是最实际的资产。而CI则可以轻松做到这一点。

3、增强项目的可见性

通过对CI服务器的监控,可以随时了解项目的趋势。CI上的红色或绿色表示了当前项目的健康程度。每一个功能的交付都经历了单元测试或集成测试的考验。
对开发团队的软件产品建立起更强大的产品信心
CI可以防止破窗综合症,让开发团队一点点积累起对产品的信息。

http://www.lryc.cn/news/236387.html

相关文章:

  • Linux——编译器gcc/g++、调试器gdb以及自动化构建工具makefilemake详解
  • Android registerForActivityResults使用详解以及实现原理
  • 模拟实现一个Linux中的简单版shell
  • 扩散模型实战(十):Stable Diffusion文本条件生成图像大模型
  • LaTex编写伪代码,并实现根据所在章编号(连字符),例如算法1-1
  • vue.js javascript js判断是值否为空
  • 网页开发如何实现简易页面跳动/跳转,html课堂练习/作业,页面ABC的相互跳转
  • 某大型房地产公司绩效面谈项目成功案例纪实
  • BGP联盟和团体属性实验
  • 代码随想录-刷题第二天
  • DAY59 503.下一个更大元素II + 42. 接雨水
  • 【如何将任何直流电机变成伺服电机】
  • 单片机语音芯片在工业控制中的应用优势
  • 【开源】基于Vue.js的高校实验室管理系统的设计和实现
  • Xrdp+内网穿透实现远程访问Linux Kali桌面
  • 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】
  • Eclipse切换中文环境
  • 栈和队列概念
  • a标签下载文件与解决浏览器默认打开某些格式文件的问题
  • EasyCVR视频监控+AI智能分析网关如何助力木材厂安全生产?
  • 重命名com1.{d3e34b21-9d75-101a-8c3d-00aa001a1652}文件夹
  • springboot+activiti5.22.0集成Activiti在线流程设计器
  • pdf如何让多张图片在一页
  • 【C语言_题库】输入4个整数,要求按照从小到大的顺序输出
  • Cascade-MVSNet论文笔记
  • Linux调试器---gdb的使用
  • 【Dubbo】Dubbo负载均衡实现解析
  • 怎样备份电脑文件比较安全
  • python 计算最大回撤
  • Linux系统中常用的压缩与解压缩方法