提交代码 → 自动构建 → 单元测试 → 镜像打包 → 推送 Harbor → K8s 滚动更新。完整的 CI/CD 流水线搭建教程。

一、CI/CD 的核心概念

  • 1.1 CI(持续集成)——频繁合并代码 + 自动构建测试
  • 1.2 CD(持续交付/部署)——自动化部署到各环境
  • 1.3 流水线全景——Push → Build → Test → Package → Deploy

二、工具栈选型

  • 2.1 代码仓库——GitLab
  • 2.2 CI 引擎——Jenkins / GitLab CI
  • 2.3 镜像仓库——Harbor
  • 2.4 容器编排——Kubernetes
  • 2.5 为什么选这一套——开源、成熟、生态好

三、Jenkins Pipeline 配置

  • 3.1 Jenkinsfile——声明式流水线
  • 3.2 阶段定义——Checkout → Build → Test → Package → Deploy
  • 3.3 Maven 构建——mvn clean package -DskipTests
  • 3.4 单元测试——mvn test + 覆盖率报告

四、Docker 镜像构建

  • 4.1 Dockerfile 编写
  • 4.2 多阶段构建——分离构建和运行
  • 4.3 镜像标签——git commit id + 时间戳

五、推送 Harbor

  • 5.1 Harbor 仓库创建
  • 5.2 docker login + docker push
  • 5.3 镜像漏洞扫描

六、K8s 部署

  • 6.1 Deployment YAML 编写
  • 6.2 kubectl set image——滚动更新
  • 6.3 健康检查——Liveness / Readiness Probe
  • 6.4 回滚——kubectl rollout undo

七、通知与审批

  • 7.1 构建结果通知——企业微信/钉钉
  • 7.2 生产环境发布审批
  • 7.3 制品版本管理

八、总结

  • CI/CD 的核心是自动化——减少人为失误
  • 完整的 Jenkinsfile 模板