Files
foka-ci/docs/architecture.md
2026-01-11 11:59:04 +08:00

1.1 KiB
Raw Permalink Blame History

系统架构

1. 概览

MiniCI 采用典型的 Monorepo 架构,前端 React 配合后端 Koa数据持久化使用 SQLite。

2. 核心模块

2.1 后端 (apps/server)

  • Route System: 基于 TC39 装饰器的自动扫描路由。
  • Execution Queue: 单例模式的执行队列,控制并发并支持任务持久化恢复。
  • Pipeline Runner: 核心执行逻辑,利用 zx 在独立的工作目录下运行 Shell 脚本。
  • Data Access: Prisma ORM 提供类型安全的数据访问。

2.2 前端 (apps/web)

  • Build Tool: Rsbuild (基于 Rspack),提供极速的开发体验。
  • UI Framework: React 19 + Arco Design。
  • State Management: Zustand 实现轻量级全局状态。

3. 部署流 (Pipeline Flow)

  1. 用户触发部署 -> 创建 Deployment 记录 (Status: pending)。
  2. ExecutionQueue 捕获新任务 -> 实例化 PipelineRunner
  3. GitManager 准备工作目录 (git clonegit pull)。
  4. PipelineRunner 逐个执行 Step 脚本。
  5. 执行过程中实时更新 Deployment.buildLog
  6. 完成后更新状态为 successfailed