# somersault-cloud **Repository Path**: xautlx/somersault-cloud ## Basic Information - **Project Name**: somersault-cloud - **Description**: 基于Vue和Spring Cloud前后端分离微服务架构开发框架,从零开始一键部署搭建一整套研发环境,运用DevOps理念和工具进行研发构建和流程管理,基于Ansible自动化运维工具脚本进行高效项目交付,从开发到交付全栈技术POC - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: http://doc.entdiy.xyz:8800 - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2023-08-23 - **Last Updated**: 2023-10-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目简介 * 从开发构建环境搭建到交付部署运维的完整DevOps过程POC * 基于Vue和Spring Cloud前后端微服务分离架构开发框架 * 基于Ansible的开发构建环境搭建及生产交付的一键安装部署脚本 * 信创国产化支持:已适配TongWeb 7,统信UOS V20 amd64,银河麒麟 V10 amd64,CentOS 7.9 arm64 * 基于开发框架的树莓派Python+MQTT的IoT物联网"远程乌龟投喂"娱乐项目 除了单纯的写代码,如果你希望有能力借助一套Java流行开发框架,从零开始搭建一整套研发环境,运用DevOps理念进行研发构建和管理, 专业高效的进行项目交付, 快速成长为开发Leader,欢迎关注本项目。 ## 项目主站 * 文档站点: **[http://doc.entdiy.xyz:8800](http://doc.entdiy.xyz:8800)** * 演示站点: **[http://poc.entdiy.xyz:8888](http://poc.entdiy.xyz:8888)** > 请注意文档和演示站点出于分离配置考虑,域名和端口均不同!由于IPv6直连访问受限运营商屏蔽80和443等标准端口,因此暂时使用非标端口访问,敬请理解。 主要资料链接: * [在线体验](http://doc.entdiy.xyz:8800/demo/intro/) - 在线体验地址访问链接信息列表 * [截图展示](http://doc.entdiy.xyz:8800/demo/screenshot/) - 应用主要界面截图展示了解项目全貌 * [技术资料](http://doc.entdiy.xyz:8800/project/infra/) - 技术全景/项目介绍/一键部署指南 * [开源说明](http://doc.entdiy.xyz:8800/tech/intro/) - 关于开源项目的内容和运营规划介绍 * [项目定制](http://doc.entdiy.xyz:8800/tech/tool/) - 基于通用开源项目生成开箱即用的定制项目 * [示例项目](http://doc.entdiy.xyz:8800/tech/iot/) - 基于开发框架的"远程乌龟投喂"娱乐项目介绍 * [远程开发](http://doc.entdiy.xyz:8800/guide/remote/) - 基于开源项目经验打造丝滑的远程开发体验分享 # 技术全景概览 ## 部署全景图 ![DeploymentArch](./images/DeploymentArch.drawio.png) ## 信创国产化支持 | 分类 | 组件或服务 | 已适配 | |-------|---------------|---------------------------------------------------------------------| | CPU架构 | amd64/x86_64 | 统信UOS V20, 银河麒麟 V10, CentOS V7.9 | | | arm64/aarch64 | CentOS-7-aarch64-Minimal-2009.iso (QEMU 7.0 模拟安装运行) | | 操作系统 | 统信UOS | uos-server-20-1060e-amd64.iso | | | 银河麒麟 | Kylin-Server-10-SP1-Release-Build20-20210518-x86_64.iso | | | CentOS | CentOS-7-x86_64-Minimal-2009.iso, CentOS-7-aarch64-Minimal-2009.iso | | Web容器 | 东方通TongWeb | TongWeb V7.0_70E6P4A01 | ## 主要技术组件
分类 组件 版本 用途 参照
前端(PC)依赖 vue 2.7.14 PC前端主框架 package.json
element-ui 2.15.12 PC前端UI框架
前端(H5)依赖 uni-app 2.0.2 移动端主框架 package.json
vue 2.6.11 移动端框架
后端依赖 jdk 11 JDK Dockerfile
spring-boot 2.7.11 Spring Boot框架 pom.xml
spring-framework 5.3.27 Spring框架
spring-cloud 3.1.5 Spring Cloud框架
spring-cloud-alibaba 2021.0.4.0 -
spring-cloud-gateway 3.1.4 微服务网关框架
spring-security 5.7.8 应用安全框架
jackson 2.13.5 序列化框架
mapstruct 1.5.5.Final Bean对象操作框架
mybatis-plus 3.5.3.1 DAO层框架 pom.xml
druid 1.2.16 JDBC组件
hibernate-validator 6.2.5.Final 数据校验框架 pom.xml
swagger 2.2.8 API接口文档组件
knife4j 4.1.0 API接口文档扩展组件
flowable 6.8.0 工作流组件 pom.xml
lombok 1.18.26 Java代码编码 pom.xml
junit 5.8.2 单元测试 pom.xml
mockito 4.5.1 测试Mock框架
数据库/中间件 mysql 8.0.17 关系数据库 ansible-mysql
redis/sentinel 6.2.0 分布式缓存 ansible-redis
ansible-sentinel
rocketmq 4.9.4 消息中间件 ansible-rocketmq
nacos 2.2.1 分布式配置和服务注册 ansible-nacos
xxl-job 2.2.0 定时任务计划 ansible-xxl_job
openresty/nginx 1.21.4.1 Web服务组件 ansible-openresty
keepalived 2.2.7 HA高可用 ansible-openresty-keepalived
ansible-mysql-keepalived
信创国产化 东方通Tongweb 7.0.E.6_P4 国产Web容器组件 pom.xml
监控管理 spring-boot-admin 2.7.10 SpringBoot应用监控 pom.xml
ansible-monitor
druid-admin 1.2.16 Druid数据库监控
loki 2.7.5 集中日志服务 ansible-loki
ansible-promtail
promtail 2.7.5 日志采集服务
prometheus 2.37.3 监控数据服务 ansible-prometheus
prometheus_exporter 2.37.3 监控指标服务 ansible-node_exporter
ansible-mysqld_exporter
alertmanager 0.24.0 监控告警通知 ansible-alertmanager
dingtalk 2.1.0 告警通知钉钉渠道
grafana 8.5.24 监控管理面板 ansible-grafana
skywalking 8.9.0 链路分析 ansible-skywalking
iptables - 安全防护策略 ansible-iptables
arthas 3.6.9 预留容器内调试工具 Dockerfile
研发构建 jenkins 2.387.2 CI构建工具 ansible-jenkins
gogs 0.13.0 轻量Git代码服务
可类似Gitlab平替
ansible-gogs
registry 2 轻量Docker镜像私服
可类似Harbor平替
ansible-registry
maven 3.6.3 Maven构建工具 Dockerfile
node 18 前端构建工具
安装部署 ansible 2.15.4 自动化运维工具 ansible install
python 3.9.18 Python依赖 ansible install
docker 24.0.2 容器引擎 ansible-docker
ansible-microservice
docker compose 24.0.2 容器编排运行
远程开发 frp 0.44.0 NAT内网穿透 ansible-frp
openvpn 2.4.12 VPN远程内网接入 ansible-openvpn
ddns - 域名动态IP ansible-ddns
# 其他说明 ## 子模块工程结构 主要是基于实际的代码管理规范考虑,按照 前端代码工程、后端代码工程、运维脚本工程 分别创建各子模块Git库,然后通过主Git库依赖引用克隆便于整体配置管理。 > 代码获取提示:项目按照GIT Submodule子模块模式进行代码管理,按照不同技术栈划分为多个不同子项目,获取代码时根据不同GIT客户端注意勾选 递归子模块 选项或参数! ## 依赖项目说明 本项目侧重点为覆盖整个开发到交付过程实例,开发框架本身主要是为了体现完整交付案例,因此somersault-cloud-service和somersault-cloud-ui主体代码来源于: [ruoyi-vue](https://gitee.com/y_project/RuoYi) -> [ruoyi-vue-pro](https://gitee.com/zhijiantianya/ruoyi-vue-pro) -> [yudao-cloud](https://gitee.com/zhijiantianya/yudao-cloud) 本项目在这些项目基础上做了必要的按需调整和扩展,文档会对相关扩展做必要的介绍说明; 具体的前后端开发详细技术资料和示例建议读者可访问上述各引用项目站点做进一步了解详情。 感谢上述开源项目和作者。