- Expand batch upload list area and optimize preview image layout - Improve upload speed tracking and display (server-side & client-side) - Reduce network detection log noise - Optimize Docker build process (caching, env validation) - Add shadow environment deployment support
脚本说明
⚠️ 重要声明
本项目强制使用 deploy-remote-build.ps1 脚本进行部署,除非项目负责人明确要求使用其他方式。
详细说明:部署规范
核心部署脚本
deploy-remote-build.ps1 ⭐⭐⭐ 唯一推荐
专用构建机部署脚本 - 保护本地 SSD,提高构建效率
文件位置:项目根目录(deploy-remote-build.ps1)
架构流程:
本地电脑 → SSH 上传代码(1-5MB) → 构建机(192.168.42.134) → 构建镜像 → 推送到Registry → 生产服务器拉取 → 启动容器
核心优势:
- 保护本地 SSD(构建在远程)
- 构建速度快(Linux 原生)
- 可视化管理(Registry UI: http://192.168.42.134:5001)
- 镜像版本管理
- 内网高速传输(1Gbps)
使用方式:
# 在项目根目录执行
# 部署到正式系统(端口 4320)
.\deploy-remote-build.ps1
# 部署到影子系统(端口 5320)
.\deploy-remote-build.ps1 -Target shadow
# 跳过代码同步
.\deploy-remote-build.ps1 -SkipSync
# 跳过镜像构建
.\deploy-remote-build.ps1 -SkipBuild
# 不使用构建缓存
.\deploy-remote-build.ps1 -NoCache
# 保留旧镜像
.\deploy-remote-build.ps1 -KeepOldImages
参数说明:
-Target: 部署目标,production(正式系统,端口4320)或shadow(影子系统,端口5320)-BuildServerIP: 构建机 IP(默认:192.168.42.134)-ProdServerIP: 生产服务器 IP(默认:192.168.58.20)-SkipSync: 跳过代码同步-SkipBuild: 跳过镜像构建-NoCache: 不使用构建缓存-KeepOldImages: 保留旧镜像
🚫 其他部署方式(不推荐)
以下脚本仅作为参考,不推荐使用,除非项目负责人明确要求:
deploy-local-build.ps1 ❌
本地构建部署 - 会在本地产生大量 Docker 缓存,磨损 SSD
问题:
- 本地构建占用大量磁盘空间(~2GB)
- SSD 磨损严重(频繁读写)
- 构建速度慢(Windows Docker Desktop 性能差)
- 上传镜像慢(~180MB 通过网络)
deploy-git-build.ps1 ⚠️
Git 工作流部署 - 需要配置 Git 仓库,复杂度高
问题:
- 需要配置 Git 仓库
- 流程复杂(本地提交 → 推送 → 服务器拉取 → 构建)
- 不适合快速迭代
deploy-public-build.ps1 ⚠️
公网穿透部署 - 仅在特殊情况下使用(外网访问生产环境)
用途:从公网访问生产环境进行部署(非常规操作)
⚠️ 再次提醒:请使用 deploy-remote-build.ps1 进行部署,除非项目负责人明确要求其他方式。
基础镜像管理
save-base-images.ps1
下载并保存基础镜像到本地缓存
.\save-base-images.ps1
load-base-images.ps1
从本地加载基础镜像(部署脚本会自动调用)
.\load-base-images.ps1
save-npm-packages.ps1(可选)
缓存 npm 包到本地(网络不稳定时使用)
.\save-npm-packages.ps1
数据库迁移脚本
execute-migration.ps1
在生产库上执行数据库迁移(Windows PowerShell)
.\execute-migration.ps1
execute-migration.sh
在生产库上执行数据库迁移(Linux/Mac)
chmod +x execute-migration.sh
./execute-migration.sh