Skip to content

一、项目介绍

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/pig

1.2 基础环境说明

软件版本备注
jdk17支持 Java 21;JDK 25+ 编译配置说明
mysql8要求设置数据库大小写不敏感 lower_case_table_names = 1
redis7+
Node.js20.20
maven3.8+
IDEA2023+需要安装 lombok 插件

二、项目实战演示

2.1 实战目的

通过本实战项目,你将系统掌握基于 Jenkins 的全链路 CI/CD 流程设计与落地,覆盖微服务架构从代码提交到生产环境部署的全生命周期管理,并深度整合 DevOps 工具链实现高效、可靠的自动化交付。以下是核心学习目标与技术场景的详细拆解:

  1. 微服务全量发布与多环境参数化部署

通过 Jenkins Pipeline 流水线 串联前端(如 Vue/React)与后端(如 Spring Boot/Go)微服务的完整发布流程,从代码拉取、编译打包、单元测试到多环境(测试/预发/生产)部署,实现“一次定义,多处运行”的标准化交付。

  • 多环境参数化构建:借助 Active Choices Plugin 动态注入环境参数(如目标服务器 IP),支持通过下拉菜单灵活选择部署环境(测试/预发/生产),避免硬编码带来的维护成本。
  • 版本控制与回退:在流水线中集成版本号自动递增(如 Git commit ID 或时间戳),并通过 Jenkins 构建历史记录关联制品(如 Docker 镜像),支持一键回退至任意历史稳定版本,解决生产环境故障时的快速恢复问题。
  1. 基础设施自动化与脚本复用

针对多机器部署的复杂场景,通过 Jenkins + Ansible 组合实现轻量级自动化运维:

  • Ansible 多机编排:编写 Playbook 完成服务器初始化(如 JDK/Node.js 环境安装、Nginx 配置)、微服务进程管理(启动/停止/重启)、健康检查(HTTP 探活或 TCP 端口监听),支持通过 Inventory 文件批量管理不同环境的服务器集群。
  • Shared Library 脚本复用:将通用操作(如 Docker 镜像推送、K8s 部署命令)封装为 Jenkins 共享库(Shared Library),通过 Groovy 脚本或 Java 类实现跨项目复用,避免重复代码冗余,提升团队协作效率与脚本维护一致性。
  1. 代码质量门禁(SonarQube)

在 CI 流程中嵌入 SonarQube 代码扫描,通过静态代码分析(SCA)检测代码异味(Code Smell)、安全漏洞(如 SQL 注入)、覆盖率(Unit Test Coverage)等指标,设置质量阈值为“构建失败”条件(如覆盖率低于 80% 或存在高危漏洞),强制代码质量达标后才能进入部署阶段,从源头保障系统稳定性。

  1. 容器化与编排
  • Docker 镜像构建:基于 Dockerfile 自动化构建微服务镜像(支持多阶段构建优化镜像体积),并推送至私有镜像仓库(如 Harbor),确保环境一致性(“一次构建,到处运行”)。
  • docker-compose 编排:针对本地开发或测试环境,通过 docker-compose.yml 定义微服务、数据库(如 MySQL/Redis)、中间件(如 Nginx)的服务依赖与启动顺序,一键启动完整测试栈,简化本地调试流程。
  1. K8s 集群与 Helm 应用管理

将容器化应用部署至 Kubernetes(K8s)集群,实现弹性扩缩容、高可用与滚动更新:

  • K8s 集群搭建:通过 kubeadm 或云厂商(如阿里云 ACK)快速搭建生产级 K8s 集群,配置 RBAC 权限控制、网络插件(如 Calico)、存储卷(如 NFS/CSI),保障集群安全性与稳定性。
  • Helm 应用发布:将微服务封装为 Helm Chart,通过 helm install/upgrade 命令管理应用的版本发布与回滚,支持模板化配置(如不同环境的 values.yaml 文件),简化多环境部署的配置管理。
  1. 团队协作与反馈闭环

通过 企业微信(企微)Webhook 集成,将 CI/CD 流程的关键节点(如构建成功/失败、部署完成、版本回退)实时通知至企微群或指定成员,同步构建耗时、制品版本、部署状态等信息,确保团队快速感知交付进展,缩短问题响应时间。

2.2 实战价值

本项目覆盖从“代码提交→质量检测→容器打包→集群部署→通知反馈”的全链路自动化,帮助团队解决传统部署中“环境不一致、人工操作易出错、故障恢复慢、代码质量不可控”等痛点,最终实现高效、可靠、可追溯的 DevOps 交付体系,适用于电商、金融、SaaS 等需要快速迭代的微服务场景。

通过动手实践本方案,你不仅能掌握 Jenkins 生态的核心工具链(Pipeline、Shared Library、Active Choices),还能深入理解云原生技术(Docker/K8s/Helm)与质量保障(SonarQube)的落地方法,为团队级 DevOps 转型提供可复用的技术模板。

最近更新