From baffc3abcb18012cafa321d724dbc068632e0a46 Mon Sep 17 00:00:00 2001 From: dengqichen Date: Tue, 3 Dec 2024 18:18:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E6=AD=A3=E5=B8=B8=E5=90=AF=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/docs/backend-development-guide.md | 1 + backend/docs/deploy-ease-platform-v2.md | 347 +++++++++++++++++++++ backend/docs/frontend-development-guide.md | 1 + 3 files changed, 349 insertions(+) create mode 100644 backend/docs/backend-development-guide.md create mode 100644 backend/docs/deploy-ease-platform-v2.md create mode 100644 backend/docs/frontend-development-guide.md diff --git a/backend/docs/backend-development-guide.md b/backend/docs/backend-development-guide.md new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/backend/docs/backend-development-guide.md @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/backend/docs/deploy-ease-platform-v2.md b/backend/docs/deploy-ease-platform-v2.md new file mode 100644 index 00000000..8ac7dc7f --- /dev/null +++ b/backend/docs/deploy-ease-platform-v2.md @@ -0,0 +1,347 @@ +# Deploy Ease Platform V2 设计文档 + +## 一、系统概述 + +### 1.1 系统目标 +- 构建一个高度可扩展的自动化部署平台 +- 支持灵活的工作流配置和审批流程 +- 实现多环境、多租户的部署管理 +- 提供完整的日志追踪和监控能力 + +### 1.2 核心功能 +1. 项目管理 + - 项目集管理 + - 项目配置 + - Git仓库集成 + - Jenkins集成 + +2. 环境管理 + - 环境配置 + - 环境克隆 + - 环境变量管理 + - 权限控制 + +3. 工作流引擎 + - 流程设计 + - 节点执行 + - 状态管理 + - 日志追踪 + +4. 审批系统 + - 审批流程定义 + - 审批规则配置 + - 审批节点管理 + - 审批记录追踪 + +5. 配置中心 + - Nacos配置管理 + - 配置同步 + - 版本控制 + - 变更追踪 + +## 二、技术架构 + +### 2.1 技术选型 +- 后端框架:Spring Boot 3.2.0 +- Java版本:JDK 21 +- ORM框架:JPA + QueryDSL +- 安全框架:Spring Security + JWT +- 数据库:MySQL 8.0 +- 缓存:Redis +- 消息队列:RabbitMQ +- 服务注册:Nacos + +### 2.2 系统架构 +1. 微服务架构 + - 网关服务 + - 认证服务 + - 工作流引擎 + - 审批服务 + - 配置中心 + +2. 分层架构 + - 接口层(Controller) + - 业务层(Service) + - 数据访问层(Repository) + - 领域模型层(Domain) + +3. 插件化架构 + - 节点插件 + - 审批插件 + - 通知插件 + +## 三、数据库设计 + +### 3.1 核心表设计 +{{ ... }} + +### 3.2 工作流相关表 +{{ ... }} + +### 3.3 审批系统表 +1. 审批定义表(sys_approval_definition) + - 基础字段(id, tenant_id等) + - 流程编码(code) + - 流程名称(name) + - 流程描述(description) + - 业务类型(business_type) + - 节点配置(node_config) + - 表单配置(form_config) + +2. 审批流程表(sys_approval_flow) + - 基础字段 + - 业务类型(business_type) + - 业务键(business_key) + - 模板编码(template_code) + - 当前节点(current_node) + - 流程状态(status) + - 流程变量(variables) + +3. 审批节点表(sys_approval_node) + - 基础字段 + - 流程ID(flow_id) + - 节点编码(node_code) + - 节点名称(node_name) + - 节点类型(node_type) + - 审批人类型(approver_type) + - 审批人列表(approver_ids) + - 节点状态(status) + - 执行时间(start_time, end_time) + +4. 审批意见表(sys_approval_comment) + - 基础字段 + - 流程ID(flow_id) + - 节点ID(node_id) + - 审批人(user_id) + - 审批动作(action) + - 审批意见(comment) + - 附件信息(attachments) + +## 四、审批系统设计 + +### 4.1 审批系统架构 +1. 核心组件 + - 审批引擎(ApprovalEngine) + - 审批规则解析器(RuleParser) + - 审批节点执行器(NodeExecutor) + - 审批事件总线(EventBus) + +2. 扩展点 + - 审批规则插件 + - 审批节点类型 + - 审批表单定义 + - 审批通知方式 + +### 4.2 审批流程设计 +1. 流程定义 + ```json + { + "nodes": [ + { + "id": "start", + "type": "start", + "next": "approve1" + }, + { + "id": "approve1", + "type": "approve", + "config": { + "approverType": "ROLE", + "approverIds": ["ROLE_LEADER"], + "counterSign": false + }, + "next": "approve2" + }, + { + "id": "approve2", + "type": "approve", + "config": { + "approverType": "USER", + "approverIds": ["user1", "user2"], + "counterSign": true + }, + "next": "end" + }, + { + "id": "end", + "type": "end" + } + ] + } + ``` + +2. 审批规则 + ```json + { + "rules": [ + { + "condition": { + "field": "environment", + "operator": "equals", + "value": "PROD" + }, + "template": "PROD_DEPLOY_APPROVAL" + }, + { + "condition": { + "field": "changeType", + "operator": "in", + "value": ["CONFIG", "DATABASE"] + }, + "template": "CHANGE_APPROVAL" + } + ] + } + ``` + +### 4.3 审批流程实现 +1. 流程启动 + - 规则匹配 + - 创建流程实例 + - 初始化节点 + - 发送通知 + +2. 节点执行 + - 权限校验 + - 节点执行 + - 状态更新 + - 下一节点 + +3. 流程结束 + - 结果处理 + - 状态更新 + - 通知相关人 + +### 4.4 与工作流集成 +1. 工作流定义扩展 + ```json + { + "nodes": [ + { + "id": "deploy", + "type": "deploy", + "config": { + "approval": { + "enabled": true, + "template": "DEPLOY_APPROVAL" + } + } + } + ] + } + ``` + +2. 节点执行器实现 + ```java + public class DeployNodeExecutor implements NodeExecutor { + @Override + public void execute(NodeInstance node) { + // 1. 检查是否需要审批 + if (needApproval(node)) { + // 2. 创建审批流程 + createApprovalFlow(node); + // 3. 暂停节点执行 + node.suspend(); + return; + } + // 4. 执行部署 + executeDeploy(node); + } + } + ``` + +## 五、系统特性 + +### 5.1 多租户支持 +1. 数据隔离 + - 租户ID字段 + - 查询过滤 + - 权限控制 + +2. 资源隔离 + - 独立配置 + - 独立存储 + - 独立缓存 + +### 5.2 插件化设计 +1. 节点插件 + - Git操作 + - Jenkins构建 + - 配置同步 + - 数据库变更 + +2. 审批插件 + - 角色审批 + - 用户审批 + - 条件审批 + - 自动审批 + +### 5.3 安全特性 +1. 认证授权 + - JWT认证 + - RBAC权限 + - 租户隔离 + +2. 数据安全 + - 敏感信息加密 + - 操作审计 + - 数据备份 + +### 5.4 可观测性 +1. 日志管理 + - 操作日志 + - 审计日志 + - 性能日志 + +2. 监控告警 + - 系统监控 + - 业务监控 + - 异常告警 + +## 六、部署架构 + +### 6.1 系统部署 +1. 容器化部署 + - Docker镜像 + - K8s编排 + - 服务网格 + +2. 高可用设计 + - 多副本 + - 负载均衡 + - 故障转移 + +### 6.2 数据存储 +1. 数据库 + - 主从复制 + - 数据备份 + - 分库分表 + +2. 文件存储 + - 分布式存储 + - 文件备份 + - 访问控制 + +## 七、后续规划 + +### 7.1 功能增强 +1. 审批功能 + - 移动端审批 + - 审批委托 + - 审批催办 + +2. 部署功能 + - 灰度发布 + - 回滚机制 + - 批量部署 + +### 7.2 性能优化 +1. 系统性能 + - 缓存优化 + - SQL优化 + - 并发处理 + +2. 用户体验 + - 响应速度 + - 操作便捷 + - 界面优化 diff --git a/backend/docs/frontend-development-guide.md b/backend/docs/frontend-development-guide.md new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/backend/docs/frontend-development-guide.md @@ -0,0 +1 @@ + \ No newline at end of file