- 从开发构建环境搭建到交付部署运维的完整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://poc.entdiy.xyz:8888
请注意文档和演示站点出于分离配置考虑,域名和端口均不同!由于IPv6直连访问受限运营商屏蔽80和443等标准端口,因此暂时使用非标端口访问,敬请理解。
主要资料链接:
- 在线体验 - 在线体验地址访问链接信息列表
- 截图展示 - 应用主要界面截图展示了解项目全貌
- 技术资料 - 技术全景/项目介绍/一键部署指南
- 开源说明 - 关于开源项目的内容和运营规划介绍
- 项目定制 - 基于通用开源项目生成开箱即用的定制项目
- 示例项目 - 基于开发框架的"远程乌龟投喂"娱乐项目介绍
- 远程开发 - 基于开源项目经验打造丝滑的远程开发体验分享
分类 | 组件或服务 | 已适配 |
---|---|---|
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 -> ruoyi-vue-pro -> yudao-cloud 本项目在这些项目基础上做了必要的按需调整和扩展,文档会对相关扩展做必要的介绍说明; 具体的前后端开发详细技术资料和示例建议读者可访问上述各引用项目站点做进一步了解详情。 感谢上述开源项目和作者。