CI/CD(持续集成/持续部署)
一句话:代码提交后自动跑测试(持续集成)、自动构建部署上线(持续部署),减少人工重复操作和人为失误。
它是什么
CI(Continuous Integration)指代码合并前自动跑测试、检查代码质量;CD(Continuous Deployment/Delivery)指测试通过后自动构建、部署到生产环境。两者结合起来实现"代码一提交,从测试到上线全自动"的流程。
适合干什么
- 团队协作项目,需要保证每次合并代码质量
- 希望减少手动部署的重复劳动和出错概率
不适合干什么
- 个人极简项目,手动部署几步就能搞定,暂时不需要这么完整的流程
普通人怎么用
不需要一开始就搭建完整复杂的CI/CD,先从最简单的开始:代码push自动跑一遍测试,通过再考虑加上自动部署这一步。
进阶用户怎么用
生产环境部署建议加入人工审核环节(比如需要手动点击确认才真正上线),而不是测试通过就完全自动上线到生产环境;关键业务要有部署失败自动回滚的机制。
常见误区
- 以为CI/CD搭好了代码质量就自动有保障,实际它只能执行你写好的测试用例,测试本身写得不好照样发现不了问题
- 把CI(测试)和CD(部署)混为一谈,实际上可以只做CI(自动测试)不做自动部署,视团队成熟度逐步推进
和相似工具的区别
- 和手动部署的区别:CI/CD能大幅减少人为操作失误(比如忘记某个步骤、环境配置不一致),但初期搭建和维护流程本身需要投入时间
入门步骤
- 先给项目补充基础的自动化测试
- 配置代码push时自动运行测试(CI)
- 测试稳定后再逐步加上自动构建部署(CD)