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

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

一、开发工作流程

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

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

1、持续集成

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

2、持续交付

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

3、持续部署

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

4、三者关系

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

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

1、减少风险

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

2、减少重复过程

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

3、增强项目的可见性

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


http://www.kler.cn/a/137095.html

相关文章:

  • vue2使用render,js中写html
  • 代码加入SFTP JAVA ---(小白篇3)
  • html <a>设置发送邮件链接、打电话链接 <a href=“mailto:></a> <a href=“tel:></a>
  • React简单了解
  • go mod tidy 命令
  • 常用的JVM启动参数有哪些?
  • Android 13.0 Launcher3仿ios长按app图标实现抖动动画开始拖拽停止动画
  • Hibernate查询的方法
  • 维基百科文章爬虫和聚类【二】:KMeans
  • py Selenium来启动多个浏览器窗口或标签页,并操作它们
  • 回顾以前的java
  • 泗博MODBUS转PROFINET网关助力电子天平与西门子PLC无缝对接
  • 679 - Dropping Balls (UVA)
  • vue3定时器的清除
  • (论文阅读51-57)图像描述3 53
  • 【django+vue】连接数据库、登录功能
  • java中stream常用api介绍
  • 鸿蒙原生应用/元服务开发-AGC分发如何配置版本信息(上)
  • Python try except 用法
  • Linux ps -ef|grep去除 grep --color=auto信息
  • windows对话框
  • 字节8年经验之谈 —— 10大自动化测试框架总结!
  • 深入 Django 的 URL 分发器
  • 国产化区块链平台-FISCO BCOS 区块链
  • 代码随想录算法训练营第25天|216.组合总和III 17.电话号码的字母组合
  • 关于“研发效能冷思考”的冷思考 | IDCF