名词百科

什么是 CI/CD / DevOps?

一句话定义

CI(持续集成)是开发者频繁提交代码并自动构建、测试的实践;CD(持续交付/持续部署)是在此基础上自动发布到环境。DevOps 是打通开发与运维协作的文化与实践体系。

发布者:黔序科技

它到底是什么

CI 解决的是「合并时才炸」:多人各写几天再合并,冲突与问题集中爆发。改为频繁合并、每次自动构建测试,问题在产生的当天就被发现。

CD 解决的是「发布靠人」:把打包、部署、验证流程自动化,减少手工操作失误。持续交付与持续部署的区别在最后一步是否自动上线。

怎么运作的

代码检查:提交触发静态检查与代码规范校验,把低级问题挡在合并前。

自动化测试:单元测试、集成测试在流水线中执行。测试不稳定(时好时坏)会让人逐渐忽略结果,需优先治理。

构建与产物:生成可部署的包并版本化,产物可追溯对应代码提交。

部署:自动部署到测试环境,按需部署到生产。生产部署通常与灰度策略配合。

前置条件:环境一致、配置外置、数据库变更脚本化。这几项不解决,自动化部署会把问题放大。

容易混的几个概念

  • CI/CD 与 DevOps:前者是工具与流程,后者是更宽的协作体系。
  • 持续交付与持续部署:前者随时可发布但需人工确认,后者自动发布。
  • 流水线:CI/CD 的执行载体。
  • 基础设施即代码:用配置描述环境,是自动化的基础之一。

常见问题

小团队需要 CI/CD 吗?

需要基础的 CI:自动构建与测试能显著减少「在我机器上是好的」这类问题。CD 可按团队成熟度逐步推进,不必一次做到自动上线。

流水线跑得太慢怎么办?

分层执行:提交时跑快速检查,合并或定时跑完整测试。并行化任务、缓存依赖也能明显缩短时间。

J 项目运维 · 同组词条