flnxi-Wu/docs/archive/用户偏好设置.md
WuYongJie f646b71813
Some checks failed
CI Check / check (push) Has been cancelled
chore: 初始化本地仓库并同步最近改动
2025-11-18 17:50:16 +08:00

4.3 KiB
Raw Blame History

用户偏好设置

📋 部署偏好

部署内容原则

  • ✅ 只上传功能性代码:应用程序代码、配置文件、依赖文件
  • ✅ 只上传必要文件:运行应用所必需的文件
  • ❌ 不上传文档:所有 .md 文档文件
  • ❌ 不上传脚本:所有部署、工具、临时脚本
  • ❌ 不上传临时文件:日志、缓存、临时文件
  • ❌ 不上传开发文件:IDE 配置、测试文件、开发工具

排除规则

以下类型的文件不会上传到服务器:

  1. 文档文件

    • docs/ - 所有文档目录
    • *.md - 所有 Markdown 文档
    • README.md - 项目说明文档
    • LICENSE - 许可证文件
  2. 脚本文件

    • scripts/ - 所有脚本目录(部署、工具、临时脚本)
    • *.sh - Shell 脚本
    • *.ps1 - PowerShell 脚本
    • *.bat - 批处理脚本
    • *.py - Python 脚本
  3. 开发文件

    • .vscode/ - VS Code 配置
    • .idea/ - IntelliJ IDEA 配置
    • .cursor/ - Cursor 配置
    • .git/ - Git 版本控制
    • .gitignore - Git 忽略文件
    • *.swp, *.swo - 编辑器临时文件
  4. 临时文件

    • uploads/ - 上传文件(服务器上已有)
    • backups/ - 备份文件
    • *.log - 日志文件
    • *.tmp - 临时文件
    • .cache/ - 缓存目录
    • coverage/ - 测试覆盖率报告
  5. 构建产物

    • .next/ - Next.js 构建产物(在 Docker 中重新构建)
    • node_modules/ - 依赖包(在 Docker 中重新安装)
    • out/ - 输出目录
    • build/ - 构建目录
    • dist/ - 分发目录
  6. 环境配置

    • .env.local - 本地环境变量
    • .env.development.local - 开发环境变量
    • .env.test.local - 测试环境变量
    • .env.example - 环境变量示例
  7. 其他文件

    • *.tar.gz - 压缩包
    • *.zip - ZIP 压缩包
    • *.sql - SQL 文件
    • *.rpm - RPM 包
    • frp_* - FRP 相关文件
    • .DS_Store - macOS 系统文件

包含内容

以下文件会上传到服务器(通过 Docker 镜像):

  1. 应用代码

    • app/ - Next.js 应用代码
    • components/ - React 组件
    • lib/ - 工具库
    • types/ - TypeScript 类型定义
    • middleware.ts - 中间件
    • next.config.js - Next.js 配置
    • tailwind.config.ts - Tailwind CSS 配置
    • tsconfig.json - TypeScript 配置
    • postcss.config.js - PostCSS 配置
  2. 配置文件

    • package.json - 项目依赖配置
    • package-lock.json - 依赖锁定文件
    • Dockerfile - Docker 镜像构建文件
    • .dockerignore - Docker 忽略文件
    • docker-compose.yml - Docker Compose 配置
    • docker-compose.prod.yml - 生产环境 Docker Compose 配置
  3. 数据库配置

    • prisma/schema.prisma - Prisma 数据库架构
    • prisma/migrations/ - 数据库迁移文件
  4. 公共资源

    • public/ - 公共静态资源

🚀 部署方式

当前部署方式

使用 直接上传源代码方式部署:

  1. 本地打包源代码(只包含功能性代码,排除非功能性文件)
  2. 上传源代码压缩包到服务器
  3. 在服务器上解压并由服务器 Docker 重新构建
  4. 不需要在本地测试和构建

部署脚本

  • scripts/deploy/安全部署.ps1 - Windows PowerShell 部署脚本
  • scripts/deploy/安全部署.sh - Linux/Mac 部署脚本

部署流程

  1. 部署前检查:运行 部署前检查清单.bat(可选)
  2. 执行部署:运行 scripts/deploy/安全部署.ps1
    • 自动打包源代码(排除文档、脚本、临时文件等)
    • 上传压缩包到服务器
    • 服务器自动解压、备份、构建 Docker 镜像、启动容器
  3. 验证部署:检查服务器上的 Docker 容器状态

部署特点

  • ✅ 不需要本地 Docker:不在本地构建 Docker 镜像
  • ✅ 不需要本地测试:直接上传源代码到服务器
  • ✅ 服务器构建:由服务器上的 Docker 重新构建镜像
  • ✅ 自动备份:自动备份服务器上的上传文件
  • ✅ 自动迁移:自动执行数据库迁移

📝 注意事项

  • 源代码打包排除规则与 .dockerignore 保持一致
  • 服务器构建时会使用 .dockerignore
  • 服务器 .env 文件独立维护,本地 .env.local 不上传