CI/CD认识

CI/CD 是 Continuous Integration(持续集成) 和 Continuous Delivery/Deployment(持续交付/部署) 的缩写,是一种软件开发和运维实践,旨在通过自动化和持续迭代来提高开发效率、代码质量以及交付速度。

CI(持续集成)

持续集成是一种开发实践,指团队中的开发人员将代码频繁地(通常每天多次)集成到共享的代码库中,并通过自动化的测试和构建来快速验证代码的正确性。

核心要点:
  1. 频繁提交代码:开发人员经常将代码合并到主分支中。
  2. 自动化构建和测试:每次代码提交都会触发构建和测试流程,确保新代码不会破坏现有功能。
  3. 快速反馈:如果代码有问题(如测试失败),开发人员能迅速收到通知并修复问题。
好处:
  • 及时发现问题,减少代码冲突。
  • 提高代码质量和团队协作效率。

CD(持续交付与持续部署)

持续交付和持续部署是 CI 的延续,专注于将代码从开发环境推进到生产环境的过程。两者的区别在于自动化程度不同:

持续交付(Continuous Delivery)
  • 自动化地将代码部署到预生产环境,但需要人工批准后才部署到生产环境。
  • 适合需要人为干预的敏感系统或流程。
持续部署(Continuous Deployment)
  • 代码通过所有自动化测试和验证后,直接部署到生产环境。
  • 整个流程完全自动化,无需人工介入。
核心流程:
  1. 构建(Build):生成应用程序的可执行文件或部署包。
  2. 测试(Test):对代码进行单元测试、集成测试、端到端测试等。
  3. 部署(Deploy):将应用程序部署到开发、测试、预生产或生产环境。
相关推荐
沫璃染墨10 分钟前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
HAHAXX839 分钟前
电商RPA批量上架通用方案:一套流程如何同时跑通拼多多、抖店、淘宝和跨境平台
java·运维·rpa
零基础1231 小时前
LLM Agent 驱动的物模型构建:从设备手册到边缘接入的自动化实践
运维·人工智能·经验分享·python·自动化
程序猿老A2 小时前
从入门型到企业型:云服务器开放共享型到独享型规格升级
运维·服务器
Ruiery3 小时前
Linux 6.6内核 CPU 深度解析(九):时钟与 TSC — 内核怎么从 PIT/HPET 切到 TSC
linux·运维·服务器
吴声子夜歌3 小时前
Nginx应用与运维——Nginx监控配置及管理(二)
运维·nginx
吴声子夜歌3 小时前
Nginx应用与运维——Nginx日志管理
java·运维·nginx
打工仔折腾 AI4 小时前
用UU远程把家里电脑变成AI Agent常驻服务器:CLI、端口映射与代理实测
运维·服务器·人工智能·后端·python·电脑·ai agent 实战
guo_wen_qiang4 小时前
云服务器nacos搭建-集群&持久化
java·运维·服务器
牢姐与蒯4 小时前
一点小碎片——每个线程独有的东西——上下文+栈
linux·运维·服务器