# 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/) - 基于开源项目经验打造丝滑的远程开发体验分享 # 技术全景概览 ## 部署全景图  ## 信创国产化支持 | 分类 | 组件或服务 | 已适配 | |-------|---------------|---------------------------------------------------------------------| | 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 |