什么是持续集成/持续交付(CI/CD)?

基本概念

CI/CD旨在通过自动化流程提高代码质量、加快发布速度

  • CI (Continuous Integration,持续集成)
  • CD(Continuous Delivery/Deployment,持续交付/持续部署)

CI 持续集成

目标

频繁加粗样式将代码合并到主干、尽早发现错误

流程

  • 开发者提交代码到共享仓库,如GitLab/GitHub
  • 自动出发构建,编译、依赖安装
  • 运行自动化测试,单元测试、集成测试

优势

快速发现Bug、减少集成冲突、提高代码质量

CD 持续交付/部署

持续交付

手动通过CI后,自动打包成可发布的版本,如Docker镜像

人工审批后手动触发部署到生产环境

持续部署

在CI基础上,自动部署到生产环境

适用于高度自动化的云原生项目,如Netflix、GitHub

优势

快速发布、降低风险、灵活回滚

CI/CD工作流

以一个Web应用为例

  1. 代码提交➡️触发CI流水线
  2. CI阶段:
  • 安装依赖 npm install
  • 运行测试 npm test
  • 构建Docker镜像
  1. CD阶段:
  • 推动镜像到仓库,如Docker Hub
  • 自动部署到测试环境
  • 手动批准➡️部署到生产环境(持续交付)
  • 或自动部署(持续部署)

常见的CI/CD工具

GitLab CI

特点:与GitLab深度集成,较简单

部署方式:Runner基于容器/K8s

适用场景:GitLab用户、云原生项目

Jenkins

特点:支持多插件,需额外配置,如GitHub插件,较复杂

部署方式:Master/Agent架构

适用场景:复杂企业级CI/CD、多平台集成

相关推荐
71777716 小时前
2026年CI/CD工具选哪家比较好:主流方案对比与Gitee选型解析
ci/cd·gitee
smartpi_ai2 天前
机芯智能离线语音模块实战问答:SU-03T、CI-03T、SU-63T 与 JX-A7T 高频问题排查
人工智能·单片机·嵌入式硬件·ci/cd·语音识别
Lvan的前端笔记2 天前
GitLab CI 环境变量整理
ci/cd·gitlab
梯度下降者4 天前
二、自动化运维架构师的三大核心能力
ci/cd·架构师·自动化运维·iac·平台工程
长不大的杨瑞杰4 天前
OpenCode v2 CI 与自动化实战:无交互运行、权限收口与制品闭环
运维·人工智能·ci/cd·自动化·软件工程·1024程序员节
Madison-No74 天前
Jenkins持续集成
运维·ci/cd·jenkins
kaixin_learn_qt_ing5 天前
CI/CD是什么
ci/cd
smartpi_ai5 天前
离线语音芯片怎么选:SU、CI、JX、JL 系列语音模块选型指南
人工智能·ci/cd·语音识别
极小狐6 天前
跨项目流水线报 404 Not Found?CI_JOB_TOKEN 允许名单 9 步排查
ci/cd·gitlab·devops·权限管理·流水线·极狐gitlab·作业令牌
骇客野人7 天前
CI/CD A 服务器(构建机)免密登录 B 服务器(目标部署机)完整操作
服务器·servlet·ci/cd