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

30 lines
1.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 系统架构
## 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 clone``git pull`)。
4. `PipelineRunner` 逐个执行 `Step` 脚本。
5. 执行过程中实时更新 `Deployment.buildLog`
6. 完成后更新状态为 `success``failed`