chenpei 4e89b57798 feat(upload): optimize upload UI and performance
- 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
2026-01-28 15:07:50 +08:00
..

脚本说明

⚠️ 重要声明

本项目强制使用 deploy-remote-build.ps1 脚本进行部署,除非项目负责人明确要求使用其他方式。

详细说明:部署规范


核心部署脚本

deploy-remote-build.ps1 ⭐⭐⭐ 唯一推荐

专用构建机部署脚本 - 保护本地 SSD,提高构建效率

文件位置:项目根目录(deploy-remote-build.ps1)

架构流程:

本地电脑 → SSH 上传代码(1-5MB) → 构建机(192.168.42.134) → 构建镜像 → 推送到Registry → 生产服务器拉取 → 启动容器

核心优势:

  1. 保护本地 SSD(构建在远程)
  2. 构建速度快(Linux 原生)
  3. 可视化管理(Registry UI: http://192.168.42.134:5001)
  4. 镜像版本管理
  5. 内网高速传输(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