基础介绍
软件开发生命周期(SDLC)由下面这几个关键阶段组成:开发、测试、部署和运维。CI/CD将这些阶段自动化并整合起来,实现更快更可靠的发布。
当代码提交到git仓库,便会触发自动的构建和测试流程。其中会运行端到端测试用例来验证代码。如果测试通过,代码就会自动部署到预发或生产环境。如果发现问题,代码就打回开发阶段进行修复。这种自动化过程为开发者提供了快速反馈,减少了生产环境中出问题的概率。
CI/CD 分为两个主要部分:
- CI (持续集成 Continuous Integration)
- 开发人员频繁地将代码合并到主分支
- 自动构建和测试代码
- 及早发现并解决问题
- CD (持续交付/部署 Continuous Delivery/Deployment)
- 持续交付:自动化构建、测试,手动部署
- 持续部署:完全自动化,包括部署过程
CI/CD流水线可以理解为一条现代化的软件"生产线"。让我用一个简单的比喻来解释:
- 想象你在经营一家面包店。传统方式是一个面包师傅从和面、发酵、烤制、检查、包装到上架全部自己完成。这种方式效率低、容易出错、质量不稳定。如果改用现代化流水线,每个环节都有专门的设备和人员负责,不仅效率高,质量也更有保证。