Thanks to visit codestin.com
Credit goes to github.com

Skip to content

一个Jenkins服务端的代理,用来连接上层业务和Jenkins服务端,构建一个可视化的CI/CD工具,将Jenkins作为流水线的执行引擎,,并最终将整个功能模块集成到平台里

Notifications You must be signed in to change notification settings

kexer2018/FlowCI

Repository files navigation

FlowCI

一个Jenkins服务端的代理,用来连接上层业务和Jenkins服务端,构建一个可视化的CI/CD工具,将Jenkins作为流水线的执行引擎,,并最终将整个功能模块集成到平台里

CI/CD 模块主要由 四个核心部分 组成:

  1. 后端(CI/CD 服务)
    • 负责 管理任务存储构建记录调用 Jenkins处理 Webhook用户权限控制
    • 技术栈:Node.js(NestJS)+ MongoDB/PostgreSQL + WebSocket
  2. 前端(CI/CD UI)
    • 作为 产品的一个模块,提供 任务管理、构建日志查看、任务执行
    • 技术栈:React + Ant Design + WebSocket 实时更新
  3. Jenkins 执行引擎
    • 仅作为 任务执行器,所有任务逻辑都由 CI/CD 服务管理
    • 通过 Jenkins API 触发构建,并监听构建结果
  4. 身份认证 & 权限管理
    • 集成产品用户中心(SSO / JWT)
    • 基于角色的访问控制(RBAC)

📌 架构示意图

plaintext复制编辑+-----------------------------+          +--------------------+
|      用户(前端 React)     |  --->    |  CI/CD 后端(Node.js)  |
+-----------------------------+          +--------------------+
       ⬇                                    ⬇
  (REST API / WebSocket)          (REST API / WebSocket)
       ⬇                                    ⬇
+--------------------------+          +-------------------+
|     数据库 (MongoDB)     |          |  Jenkins Server  |
+--------------------------+          +-------------------+

🛠️ 任务拆分

任务拆分成 后端、前端、Jenkins 集成、权限管理 四个部分,每个部分再拆分成具体功能点。


1. 后端开发(CI/CD 服务)**

📌 主要职责

  • 提供 REST APIWebSocket
  • 任务管理(创建、执行、查询)
  • 任务日志持久化
  • 处理 Jenkins Webhook 回调
  • 实现权限管理(RBAC)

2. 前端开发(React UI)**

📌 主要职责

  • 提供任务管理界面
  • 显示任务状态 & 构建日志
  • 实现 WebSocket 实时更新
  • 与后端 API 对接,实现任务操作

3. Jenkins 集成**

📌 主要职责

  • 通过 API 触发 Jenkins 构建
  • 监听 Jenkins 构建状态
  • 处理 Jenkins Webhook

4. 权限管理**

📌 主要职责

  • 实现基于 RBAC(角色访问控制)
  • 只有管理员能查看所有任务
  • 普通用户只能管理自己的任务

About

一个Jenkins服务端的代理,用来连接上层业务和Jenkins服务端,构建一个可视化的CI/CD工具,将Jenkins作为流水线的执行引擎,,并最终将整个功能模块集成到平台里

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published