主题

一、项目介绍
PIG4CLOUD 是一款深度整合 Spring Cloud 最新生态 与 Spring Boot 3.4 技术栈的开源企业级微服务开发平台,聚焦 Java 开发者实际需求,通过预置标准化开发模板、自动化配置工具及开箱即用的微服务治理能力(如服务注册发现、负载均衡、熔断限流等),有效简化从项目初始化到应用部署的全流程开发链路,助力快速构建高可用、易扩展的企业级微服务应用。
1.1 架构说明
- 基础架构

- 高可用架构

- 主要技术栈

- 后端技术栈
| 分类 | 内容 |
|---|---|
| 编程语言 | Java 8EOF、Java 17(编译基线,兼容 21/25) |
| 开发框架 | Spring Boot 2.7EOF、3.5EOF、4.1 |
| 微服务框架 | Spring Cloud 2021EOF、2025.1 | Spring Cloud Alibaba 2025.1 |
| 安全框架 | Spring Authorization Server |
| 任务调度 | Quartz、XXL-JOB 3.4、ElasticJob |
| 数据库支持 | MySQL8、Oracle 12C+、SQL Server 2017+、PostgreSQL 16+、 达梦8、 TiDB 4 |
| 持久层框架 | MyBatis & MyBatis Plus |
| 数据库连接池 | Druid |
| 服务注册与发现 | Nacos |
| 客户端负载均衡 | Spring Cloud Loadbalancer |
| 熔断组件 | Sentinel |
| 网关组件 | Spring Cloud Gateway |
| 日志管理 | Logback |
| 运行容器 | Undertow |
| 分布式事务 | Seata 2.5 |
| 工作流 | Flowable 8.0 |
- 前端技术栈
| 分类 | 内容 |
|---|---|
| 框架 | Vue 3.5、TypeScript |
| CSS 框架 | Sass、Tailwind CSS 3.4、DaisyUI 3.9 |
| 组件库 | Element Plus 2.13* |
| 打包构建工具 | Vite 8.1 |
| 状态管理 | Pinia 2.0 |
- 项目地址
basj
前端代码: pig-ui -- https://gitee.com/log4j/pig-ui
后端代码: pig -- https://gitee.com/log4j/pig1.2 基础环境说明
| 软件 | 版本 | 备注 |
|---|---|---|
| jdk | 17 | 支持 Java 21;JDK 25+ 编译配置说明 |
| mysql | 8 | 要求设置数据库大小写不敏感 lower_case_table_names = 1 |
redis | 7+ | |
| Node.js | 20.20 | |
| maven | 3.8+ | |
| IDEA | 2023+ | 需要安装 lombok 插件 |
二、项目实战演示
2.1 实战目的

通过本实战项目,你将系统掌握基于 Jenkins 的全链路 CI/CD 流程设计与落地,覆盖微服务架构从代码提交到生产环境部署的全生命周期管理,并深度整合 DevOps 工具链实现高效、可靠的自动化交付。以下是核心学习目标与技术场景的详细拆解:
- 微服务全量发布与多环境参数化部署
通过 Jenkins Pipeline 流水线 串联前端(如 Vue/React)与后端(如 Spring Boot/Go)微服务的完整发布流程,从代码拉取、编译打包、单元测试到多环境(测试/预发/生产)部署,实现“一次定义,多处运行”的标准化交付。
- 多环境参数化构建:借助
Active Choices Plugin动态注入环境参数(如目标服务器 IP),支持通过下拉菜单灵活选择部署环境(测试/预发/生产),避免硬编码带来的维护成本。 - 版本控制与回退:在流水线中集成版本号自动递增(如 Git commit ID 或时间戳),并通过 Jenkins 构建历史记录关联制品(如 Docker 镜像),支持一键回退至任意历史稳定版本,解决生产环境故障时的快速恢复问题。
- 基础设施自动化与脚本复用
针对多机器部署的复杂场景,通过 Jenkins + Ansible 组合实现轻量级自动化运维:
- Ansible 多机编排:编写 Playbook 完成服务器初始化(如 JDK/Node.js 环境安装、Nginx 配置)、微服务进程管理(启动/停止/重启)、健康检查(HTTP 探活或 TCP 端口监听),支持通过 Inventory 文件批量管理不同环境的服务器集群。
- Shared Library 脚本复用:将通用操作(如 Docker 镜像推送、K8s 部署命令)封装为 Jenkins 共享库(Shared Library),通过 Groovy 脚本或 Java 类实现跨项目复用,避免重复代码冗余,提升团队协作效率与脚本维护一致性。
- 代码质量门禁(SonarQube)
在 CI 流程中嵌入 SonarQube 代码扫描,通过静态代码分析(SCA)检测代码异味(Code Smell)、安全漏洞(如 SQL 注入)、覆盖率(Unit Test Coverage)等指标,设置质量阈值为“构建失败”条件(如覆盖率低于 80% 或存在高危漏洞),强制代码质量达标后才能进入部署阶段,从源头保障系统稳定性。
- 容器化与编排
- Docker 镜像构建:基于
Dockerfile自动化构建微服务镜像(支持多阶段构建优化镜像体积),并推送至私有镜像仓库(如 Harbor),确保环境一致性(“一次构建,到处运行”)。 - docker-compose 编排:针对本地开发或测试环境,通过
docker-compose.yml定义微服务、数据库(如 MySQL/Redis)、中间件(如 Nginx)的服务依赖与启动顺序,一键启动完整测试栈,简化本地调试流程。
- K8s 集群与 Helm 应用管理
将容器化应用部署至 Kubernetes(K8s)集群,实现弹性扩缩容、高可用与滚动更新:
- K8s 集群搭建:通过 kubeadm 或云厂商(如阿里云 ACK)快速搭建生产级 K8s 集群,配置 RBAC 权限控制、网络插件(如 Calico)、存储卷(如 NFS/CSI),保障集群安全性与稳定性。
- Helm 应用发布:将微服务封装为 Helm Chart,通过
helm install/upgrade命令管理应用的版本发布与回滚,支持模板化配置(如不同环境的values.yaml文件),简化多环境部署的配置管理。
- 团队协作与反馈闭环
通过 企业微信(企微)Webhook 集成,将 CI/CD 流程的关键节点(如构建成功/失败、部署完成、版本回退)实时通知至企微群或指定成员,同步构建耗时、制品版本、部署状态等信息,确保团队快速感知交付进展,缩短问题响应时间。
2.2 实战价值
本项目覆盖从“代码提交→质量检测→容器打包→集群部署→通知反馈”的全链路自动化,帮助团队解决传统部署中“环境不一致、人工操作易出错、故障恢复慢、代码质量不可控”等痛点,最终实现高效、可靠、可追溯的 DevOps 交付体系,适用于电商、金融、SaaS 等需要快速迭代的微服务场景。
通过动手实践本方案,你不仅能掌握 Jenkins 生态的核心工具链(Pipeline、Shared Library、Active Choices),还能深入理解云原生技术(Docker/K8s/Helm)与质量保障(SonarQube)的落地方法,为团队级 DevOps 转型提供可复用的技术模板。
