一个Jenkins服务端的代理,用来连接上层业务和Jenkins服务端,构建一个可视化的CI/CD工具,将Jenkins作为流水线的执行引擎,,并最终将整个功能模块集成到平台里
CI/CD 模块主要由 四个核心部分 组成:
- 后端(CI/CD 服务)
- 负责 管理任务、存储构建记录、调用 Jenkins、处理 Webhook、用户权限控制
- 技术栈:Node.js(NestJS)+ MongoDB/PostgreSQL + WebSocket
- 前端(CI/CD UI)
- 作为 产品的一个模块,提供 任务管理、构建日志查看、任务执行
- 技术栈:React + Ant Design + WebSocket 实时更新
- Jenkins 执行引擎
- 仅作为 任务执行器,所有任务逻辑都由 CI/CD 服务管理
- 通过 Jenkins API 触发构建,并监听构建结果
- 身份认证 & 权限管理
- 集成产品用户中心(SSO / JWT)
- 基于角色的访问控制(RBAC)
📌 架构示意图
plaintext复制编辑+-----------------------------+ +--------------------+
| 用户(前端 React) | ---> | CI/CD 后端(Node.js) |
+-----------------------------+ +--------------------+
⬇ ⬇
(REST API / WebSocket) (REST API / WebSocket)
⬇ ⬇
+--------------------------+ +-------------------+
| 数据库 (MongoDB) | | Jenkins Server |
+--------------------------+ +-------------------+
任务拆分成 后端、前端、Jenkins 集成、权限管理 四个部分,每个部分再拆分成具体功能点。
📌 主要职责
- 提供 REST API 和 WebSocket
- 任务管理(创建、执行、查询)
- 任务日志持久化
- 处理 Jenkins Webhook 回调
- 实现权限管理(RBAC)
📌 主要职责
- 提供任务管理界面
- 显示任务状态 & 构建日志
- 实现 WebSocket 实时更新
- 与后端 API 对接,实现任务操作
📌 主要职责
- 通过 API 触发 Jenkins 构建
- 监听 Jenkins 构建状态
- 处理 Jenkins Webhook
📌 主要职责
- 实现基于 RBAC(角色访问控制)
- 只有管理员能查看所有任务
- 普通用户只能管理自己的任务