This commit introduces a comprehensive engineering audit report for the Tootaio Studio project. The report is structured into documents covering architecture, code quality, performance, security, CI/CD, and observability. It also includes a phased improvement roadmap and a set of `.patch` files to apply immediate fixes for content schemas, package scripts, and CI configuration.
1.3 KiB
1.3 KiB
CI/CD 设计与部署方案
目标
提供从代码质量到产物构建的自动化流程:lint → typecheck → build。
GitHub Actions(推荐)
- 工作流文件参见补丁
0003-github-actions-ci.patch,关键步骤:- 使用
actions/setup-node@v4+corepack enable; - 安装依赖:
pnpm i --frozen-lockfile; - 执行
pnpm lint && pnpm typecheck && pnpm build。
- 使用
部署对比
- Vercel(推荐)
- 优点:零配置、内置 CDN、适配 Nuxt/Nitro;Preview 环境完善。
- 缺点:免费额度受限;对长时间 SSR 任务需商用套餐。
- Docker(自管)
- 优点:环境一致性高;更灵活接入内网服务。
- 缺点:需自建 CI/CD 与监控;维护成本更高。
- 自建 Node + Nginx
- 优点:成本可控;传统可见性强。
- 缺点:手工配置多;需要额外缓存/CDN 配合。
Dockerfile(示例)
FROM node:20-alpine AS build
WORKDIR /app
COPY . .
RUN corepack enable && pnpm i --frozen-lockfile && pnpm build
FROM node:20-alpine
WORKDIR /app
ENV NODE_ENV=production
COPY --from=build /app/.output ./.output
EXPOSE 3000
CMD ["node","./.output/server/index.mjs"]
环境变量与密钥
- 在 CI 中设置
NITRO_PRESET、SENTRY_DSN等;Nuxt 通过runtimeConfig注入,避免硬编码。