4.3 KiB
4.3 KiB
用户偏好设置
📋 部署偏好
部署内容原则
- ✅ 只上传功能性代码:应用程序代码、配置文件、依赖文件
- ✅ 只上传必要文件:运行应用所必需的文件
- ❌ 不上传文档:所有
.md文档文件 - ❌ 不上传脚本:所有部署、工具、临时脚本
- ❌ 不上传临时文件:日志、缓存、临时文件
- ❌ 不上传开发文件:IDE 配置、测试文件、开发工具
排除规则
以下类型的文件不会上传到服务器:
-
文档文件
docs/- 所有文档目录*.md- 所有 Markdown 文档README.md- 项目说明文档LICENSE- 许可证文件
-
脚本文件
scripts/- 所有脚本目录(部署、工具、临时脚本)*.sh- Shell 脚本*.ps1- PowerShell 脚本*.bat- 批处理脚本*.py- Python 脚本
-
开发文件
.vscode/- VS Code 配置.idea/- IntelliJ IDEA 配置.cursor/- Cursor 配置.git/- Git 版本控制.gitignore- Git 忽略文件*.swp,*.swo- 编辑器临时文件
-
临时文件
uploads/- 上传文件(服务器上已有)backups/- 备份文件*.log- 日志文件*.tmp- 临时文件.cache/- 缓存目录coverage/- 测试覆盖率报告
-
构建产物
.next/- Next.js 构建产物(在 Docker 中重新构建)node_modules/- 依赖包(在 Docker 中重新安装)out/- 输出目录build/- 构建目录dist/- 分发目录
-
环境配置
.env.local- 本地环境变量.env.development.local- 开发环境变量.env.test.local- 测试环境变量.env.example- 环境变量示例
-
其他文件
*.tar.gz- 压缩包*.zip- ZIP 压缩包*.sql- SQL 文件*.rpm- RPM 包frp_*- FRP 相关文件.DS_Store- macOS 系统文件
包含内容
以下文件会上传到服务器(通过 Docker 镜像):
-
应用代码
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 配置
-
配置文件
package.json- 项目依赖配置package-lock.json- 依赖锁定文件Dockerfile- Docker 镜像构建文件.dockerignore- Docker 忽略文件docker-compose.yml- Docker Compose 配置docker-compose.prod.yml- 生产环境 Docker Compose 配置
-
数据库配置
prisma/schema.prisma- Prisma 数据库架构prisma/migrations/- 数据库迁移文件
-
公共资源
public/- 公共静态资源
🚀 部署方式
当前部署方式
使用 直接上传源代码方式部署:
- 本地打包源代码(只包含功能性代码,排除非功能性文件)
- 上传源代码压缩包到服务器
- 在服务器上解压并由服务器 Docker 重新构建
- 不需要在本地测试和构建
部署脚本
scripts/deploy/安全部署.ps1- Windows PowerShell 部署脚本scripts/deploy/安全部署.sh- Linux/Mac 部署脚本
部署流程
- 部署前检查:运行
部署前检查清单.bat(可选) - 执行部署:运行
scripts/deploy/安全部署.ps1- 自动打包源代码(排除文档、脚本、临时文件等)
- 上传压缩包到服务器
- 服务器自动解压、备份、构建 Docker 镜像、启动容器
- 验证部署:检查服务器上的 Docker 容器状态
部署特点
- ✅ 不需要本地 Docker:不在本地构建 Docker 镜像
- ✅ 不需要本地测试:直接上传源代码到服务器
- ✅ 服务器构建:由服务器上的 Docker 重新构建镜像
- ✅ 自动备份:自动备份服务器上的上传文件
- ✅ 自动迁移:自动执行数据库迁移
📝 注意事项
- 源代码打包排除规则与
.dockerignore保持一致 - 服务器构建时会使用
.dockerignore - 服务器
.env文件独立维护,本地.env.local不上传