feat: 实现环境变量预设功能 & 移除稀疏检出

## 后端改动
- 添加 Project.envPresets 字段(JSON 格式)
- 移除 Deployment.env 字段,统一使用 envVars
- 更新部署 DTO,支持 envVars (Record<string, string>)
- pipeline-runner 支持解析并注入 envVars 到环境
- 移除稀疏检出模板和相关环境变量
- 优化代码格式(Biome lint & format)

## 前端改动
- 新增 EnvPresetsEditor 组件(支持单选/多选/输入框类型)
- 项目创建/编辑界面集成环境预设编辑器
- 部署界面基于预设动态生成环境变量表单
- 移除稀疏检出表单项
- 项目详情页添加环境变量预设配置 tab
- 优化部署界面布局(基本参数 & 环境变量分区)

## 文档
- 添加完整文档目录结构(docs/)
- 创建设计文档 design-0005(部署流程重构)
- 添加 API 文档、架构设计文档等

## 数据库
- 执行 prisma db push 同步 schema 变更
This commit is contained in:
2026-01-03 22:59:20 +08:00
parent c40532c757
commit d22fdc9618
71 changed files with 9611 additions and 5849 deletions

7
docs/.meta/OWNERS.md Normal file
View File

@@ -0,0 +1,7 @@
# 文档拥有者
- backend: backend-team@example.com
- ops: ops-team@example.com
- product: product-team@example.com
每个文档请在 front-matter 中声明 `owners` 字段。

View File

@@ -0,0 +1,116 @@
---
title: 设计文档模板
summary: 记录一个功能/模块的设计方案、权衡与落地计划(建议配套 ADR
owners:
- team: <team>
reviewers:
- <name-or-team>
status: draft
date: 2026-01-03
version: 0.1.0
related:
- adr: docs/architecture/adr-xxxx-<slug>.md
- pr: <link>
- issue: <link>
---
# 设计文档:<标题>
## 1. 背景Context
- 当前问题是什么?为什么现在要做?
- 相关现状:已有模块/接口/数据模型(附链接)
- 约束:技术栈、部署方式、团队边界、时间/人力
## 2. 目标Goals
- [ ] 目标 1可验证
- [ ] 目标 2可验证
## 3. 非目标Non-goals
- 不做什么(防止范围膨胀)
## 4. 需求与范围Requirements & Scope
- 用户/角色谁会用例如管理员、开发者、CI runner
- 功能需求:
- R1:
- R2:
- 非功能需求:性能、可用性、可维护性、可观测性
## 5. 方案概览High-level Design
- 用 5-10 行描述整体方案(模块、数据流、调用链)
- 关键选择:为什么选这个方案?
## 6. 详细设计Detailed Design
### 6.1 接口/API 设计
- 新增/变更端点(路径、方法、权限、请求/响应示例)
- 错误码与错误语义(与 `BusinessError` 对齐)
### 6.2 数据模型/数据库
- Prisma model 变更(字段、索引、迁移策略)
- 数据一致性与幂等策略(例如:重试/重复提交)
### 6.3 任务/队列/异步处理(如有)
- 队列模型:入队、出队、并发、重试、死信/失败处理
- 状态机:状态枚举与迁移
### 6.4 配置与环境变量
- 新增 env默认值、是否敏感、是否需要重启
### 6.5 可观测性
- 日志关键日志点、traceId/requestId如有
- 指标:成功率、延迟、队列长度、失败原因分布
- 告警P0/P1 触发条件
### 6.6 安全与权限
- 认证是否要求登录session
- 授权:角色/资源权限(项目级、流水线级)
- 数据安全敏感信息、token、日志脱敏
## 7. 影响与权衡Trade-offs
- 性能影响
- 运维影响
- 对现有接口/调用方的影响
- 技术债与后续演进
## 8. 兼容性与迁移Compatibility & Migration
- 是否 breaking change
- 迁移步骤DB、配置、数据回填
- 回滚策略
## 9. 测试计划Test Plan
- 单测:覆盖哪些模块
- 集成测试:关键链路(如:创建部署 -> 入队 -> 执行 -> 状态更新)
- 手工验证:步骤清单
## 10. 发布计划Rollout Plan
- 分阶段:灰度/开关/逐步放量(如有)
- 监控指标与验收标准
## 11. 备选方案Alternatives Considered
- 方案 A为什么不用
- 方案 B为什么不用
## 12. 风险与开放问题Risks & Open Questions
- 风险 1
- 问题 1需要谁来决定/何时决定)
## 13. 附录Appendix
- 相关链接控制器、DTO、Prisma schema、PR 等

View File

@@ -0,0 +1,22 @@
---
title: Runbook 模板
owners:
- ops: ops-team
status: draft
---
# Runbook 标题
## 触发条件
## 负责人
## 联系方式
## 暂时性缓解
## 恢复步骤
## 验证
## 回滚(如果适用)