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

CI/CD持续集成与持续部署

CI(持续集成,Continuous Integration)

  • 干什么? 把大家写的代码——不管是一两行新功能,还是修个小 bug——都自动地合并(集成)到「主干」代码库里。

  • 怎么做? 每当有人提交(push)代码,CI 系统就会自动:

    1. 拉取最新版代码
    2. 执行一系列自动化测试(比如单元测试、集成测试)
    3. 报告测试结果:通过就告诉大家「OK」,失败就马上提醒开发者去修。
  • 好处:

    • 早发现问题,不会拖到最后一次性爆炸式冲突。
    • 保证主干始终是「能跑、能测、没大问题」的状态。

CD持续交付/持续部署,Continuous Delivery/Deployment)

CD 在 CI 后面,目标是「把测试过的代码自动、快速地推送到生产环境(让真实用户能用)」。

  • 持续交付(Delivery):自动把新版本打包好,放到可以随时上线的「候选版本库」,但还要人工点一下「上线」按钮。
  • 持续部署(Deployment):在持续交付基础上,再把人工那一步也自动化——测试通过后就直接上线给用户,用不到人工干预。
  1. CI = 食材准备 & 品质检验

    • 把肉饼、面包、生菜等原料都集中到流水线,自动称重、消毒、简单烹饪,然后机器测试口味是否合格(模拟咬一口)。
  2. CD = 打包 & 送上餐桌

    • 合格的汉堡自动装盒(打包),
    • 如果是「持续交付」,打包好后放到出餐口,服务员等你按键再上餐。
    • 如果是「持续部署」,打包完就直接送到你面前,完全自动化。
  • 速度更快:不用手动一个个测试、打包、部署。
  • 风险更低:小步快跑,遇到问题能马上发现并回滚,不会一次改太多修不过来。
  • 可追溯:每一次上传、测试和上线都有日志,出了问题能知道是哪次提交、哪个环节出错。

CI/CD 就是一整套自动化流程,把「写码 → 测试 → 打包 → 上线」各个环节串起来,降低人工干预,让产品更新更快、更稳、更可靠。

http://www.xdnf.cn/news/14810.html

相关文章:

  • 开源 vGPU 方案 HAMi: corememory 隔离测试
  • 深度剖析:如何解决Node.js中mysqld_stmt_execute参数错误
  • Java 数据类型与变量
  • Oracle如何使用序列 Oracle序列使用教程
  • OpenCV中DPM(Deformable Part Model)目标检测类cv::dpm::DPMDetector
  • KVM高级功能部署
  • Go应用容器化完全指南:构建最小化安全镜像的终极实践
  • 【MySQL\Oracle\PostgreSQL】迁移到openGauss数据出现的问题解决方案
  • Python入门Day2
  • Python字符与ASCII转换方法
  • Qt 事件
  • Python从入门到精通——第一章 Python简介
  • 从 TCP/IP 协议栈角度深入分析网络文件系统 (NFS)
  • join性能问题,distinct和group by性能,备库自增主键问题
  • 孪生素数猜想 - 张益唐的核心贡献和陶哲轩的改进
  • vue-37(模拟依赖项进行隔离测试)
  • 互联网大厂Java面试实录:Spring Boot与微服务在电商场景中的应用
  • 经典灰狼算法+编码器+双向长短期记忆神经网络,GWO-Transformer-BiLSTM多变量回归预测,作者:机器学习之心!
  • List中的对象进行排序处理
  • Go基础(Gin)
  • Python 机器学习核心入门与实战进阶 Day 1 - 分类 vs 回归
  • 扣子空间PPT生产力升级:AI智能生成与多模态创作新时代
  • 【Linux仓库】进程优先级及进程调度【进程·肆】
  • Linux之Socket编程Tcp
  • Spring Cloud(微服务部署与监控)
  • Superman
  • Rust Web 全栈开发(一):构建 TCP Server
  • 新版本没有docker-desktop-data分发 | docker desktop 镜像迁移
  • MYSQL基础内容
  • Django 安装使用教程