跳转至

CICD

持续集成 (CI)

  • 目标:快速发现集成错误,保障代码库质量
  • 关键活动包括:1.代码扫描 2.单元测试 3.集成或接口测试 4.构建

持续交付/部署 (CD)

  • 目标:将通过验证的制品,安全、高效地交付到生产环境
  • 关键活动包括:1.自动化部署到测试、预生产环境 2.端到端测试(在拟真环境验证完整流程) 3.性能/合规测试 4.生产发布

📌 阶段一:CI分支代码验证

触发方式:手动构建、代码提交时触发、tag提交时触发、定时任务、级联其他流水线触发等

分支push -> 进行通知 -> SonarQube/EOS扫描 -> Maven构建 -> Junit单元测试 -> 代码构建(jar、war等) -> 打包临时镜像容器化部署到测试环境 -> 自动化测试(验证该分支与其他系统协作、单分支在目前场景下是否有异常等)

📌 阶段二:CI主干代码合并流程

触发方式:分支测试完成后合代码

合并生成临时tag,合并异常时人工介入 -> master代码,SonarQube/EOS扫描 -> Maven构建 -> Junit单元测试 -> 代码构建 -> 打包临时镜像容器化部署到测试环境 -> 自动化测试

📌 阶段三:CD Release发布

选择主干临时tag -> 生成Release分支打版本tag -> Release代码 -> docker镜像构建 -> Trivy安全检查 -> 镜像上传至harbor(镜像库),更新helm chart(专门管理发布脚本),其他相关资源上传(如sql脚本,手工执行且有回滚预案) -> 发版完成通知

📌 阶段四:部署应用

Helm执行脚本,驱动k8s从harbor拉取指定镜像、运行pod -> 自动化/人工验证 -> 部署完毕通知 -> 发布(应用对外可见)