15 lines
715 B
Markdown
15 lines
715 B
Markdown
# ADR 0001: 技术选型
|
||
|
||
## 背景
|
||
需要构建一个轻量级、易扩展且易于本地部署的 CI 系统。
|
||
|
||
## 决策
|
||
- **语言**: 全栈 TypeScript,确保模型定义在前后端的一致性。
|
||
- **后端框架**: Koa。相比 Express 更加轻量,利用 async/await 处理异步中间件更优雅。
|
||
- **数据库**: SQLite。CI 系统通常是单机或小规模使用,SQLite 无需独立服务,运维成本极低。
|
||
- **执行工具**: `zx`。相比原生的 `child_process`,`zx` 处理 Shell 交互更加直观和安全。
|
||
|
||
## 后果
|
||
- 优势:开发效率极高,部署简单。
|
||
- 挑战:SQLite 在极高并发写入(如数百个任务同时输出日志)时可能存在性能瓶颈。
|