主题
一键部署详解
本文详细介绍一键部署的技术实现,帮助你理解部署过程中发生了什么。
基本操作
快速操作步骤请参考 快速开始 → 一键部署。
技术原理
一键部署通过一条 PowerShell 命令在用户本地 Windows 机器上执行完整的部署流程:
下载项目代码 → 安装运行环境 → 安装数据库 → 安装依赖 → 数据库迁移 → 启动服务环境安装
脚本会根据项目的技术栈自动安装所需环境:
| 环境 | 安装方式 | 适用项目 |
|---|---|---|
| Node.js | 通过 nvm 或直接下载(国内镜像) | NestJS、Express、Vue、React |
| Java (JDK) | 直接下载安装 | Spring Boot |
| Python | 通过 uv 安装 | Django、FastAPI |
所有依赖都从国内镜像源下载,速度有保障。
数据库安装
根据项目选择的数据库自动安装和配置:
| 数据库 | 安装方式 | 说明 |
|---|---|---|
| SQLite | 无需安装 | 内置在项目中,开箱即用 |
| MySQL | 自动安装并配置 | 自动创建数据库和用户 |
| PostgreSQL | 自动安装并配置 | 自动创建数据库和用户 |
数据库实例使用项目名哈希生成确定性的名称,避免与其他项目冲突。
依赖安装
根据后端技术栈执行对应的包管理命令:
| 技术栈 | 命令 |
|---|---|
| NestJS / Express | pnpm install |
| Spring Boot | Maven 自动处理 |
| Django / FastAPI | uv sync |
前端依赖统一使用 pnpm install。支持多个前端同时安装。
数据库迁移
| 后端 | 迁移命令 |
|---|---|
| NestJS/Express (Prisma) | pnpm prisma db push |
| FastAPI | alembic upgrade head |
| Django | python manage.py migrate |
| Spring Boot | Flyway/Liquibase(启动时自动执行) |
迁移完成后会自动导入种子数据。
服务启动
部署完成后,脚本会在新的 PowerShell 窗口中自动启动前后端服务,并显示:
- 本地访问地址
- 推荐使用的 IDE
- 日志文件路径
自由项目部署
自由项目的部署有所不同:
- 不会自动启动服务器
- 根据项目类型提供工具打开建议:
| 项目类型 | 建议工具 |
|---|---|
| 安卓 App | Android Studio |
| 单片机 | Keil |
| Qt 桌面 | Qt Creator |
| Node.js 项目 | VS Code / Cursor |
| Python 项目 | PyCharm |
安全机制
- 部署命令包含唯一认证码(24 字符),作为访问凭证
- 拥有认证码的人可以下载项目代码,请注意保管
- 脚本内容完全透明,可在执行前审查
- 所有安装均使用国内镜像源,不涉及外部未知来源
局限性
| 限制 | 说明 |
|---|---|
| 仅支持 Windows | 脚本基于 PowerShell,macOS/Linux 暂不支持 |
| 需要管理员权限 | 安装系统级软件需要提权 |
| 可能与现有软件冲突 | 如果已安装同版本 Node.js/Java/数据库,可能产生冲突 |