Some checks failed
CI Check / check (push) Has been cancelled
- 移除高亮卡片效果,避免与虚位卡片视觉重复 - 松开鼠标后立即更新布局,不再等待动画完成 - 优化拖拽动画效果,使用弹性缓动函数 - 更新 CHANGELOG.md 记录本次优化
部署脚本使用说明
脚本分层
| 类型 | 文件 | 说明 |
|---|---|---|
| 通用入口 | 安全部署.ps1 / 安全部署.sh |
推荐使用。封装了巡检 → 构建 → 镜像推送 → 远程 compose → /api/health 轮询的整套流程,支持 Windows PowerShell 与 Bash。 |
| 本地打包 + 上传 | local-build-and-upload.ps1 |
在无法推镜像的场景下,先本地构建/打包,再通过 scp 上传到远端解压并 docker compose up。 |
| 增量/应急脚本 | deploy-optimized.ps1、execute-remote-deploy.ps1 |
早期“直接上传源码 + 服务器构建”方案仍保留以备回退,但已退出默认流程。调用前请确认服务器网络具备拉取基础镜像的能力。 |
| 辅助排障 | check-*.ps1、fix-*.ps1、setup-*.ps1、manual-import-image.ps1、export-and-upload-image.ps1 等 |
用于检查 Docker/网络状态、修复私有 Registry、导出/导入镜像、创建客户离线包等。 |
| 安全工具 | encrypt-password.ps1 / decrypt-password.ps1 |
需要以明文密码方式部署时,可通过该工具生成/验证加密密钥文件,避免将密码直接写进脚本。 |
ℹ️ 其余历史脚本(例如
deploy-simple.ps1、deploy-with-ssh-key.ps1等)已在 2025-11-19 归档/删除,避免误用老旧流程。
快速开始
推荐:安全部署脚本
# Windows
.\scripts\deploy\安全部署.ps1
# macOS / Linux
bash scripts/deploy/安全部署.sh
脚本会依次完成:
- 本地依赖检测与构建
- Docker 镜像打包、标记与推送(或覆盖)
- 远程服务器 SSH/Registry 连接校验
docker compose滚动更新- 健康检查 & 日志输出
备用:本地打包上传
.\scripts\deploy\local-build-and-upload.ps1 `
-Server "192.168.1.100" `
-User "root" `
-Password "****" `
-ProjectPath "/root/youyidian-3d"
⚠️ 此脚本仍会在服务器端执行
docker compose build,需要确保远程机器能访问基础镜像或提前导入(可搭配export-and-upload-image.ps1/manual-import-image.ps1)。
功能特点
- 阶段化输出:每个阶段均打印醒目标题,失败时便于快速定位。
- 健康检查:完成后自动轮询
/api/health,确认服务可用再退出。 - 容器友好:统一使用
docker compose,兼容docker-compose。 - 数据保护:上传前自动备份
uploads/,部署完成再恢复。 - 镜像托管:配合
setup-registry*.ps1可快速初始化私有 Registry。
安全建议
- 不要将密码提交到 Git:如果修改了脚本中的默认密码,确保不要提交到 Git 仓库
- 使用环境变量:可以考虑使用环境变量存储密码
- 定期更换密码:定期更换服务器密码
- 使用 SSH 密钥:如果可能,使用 SSH 密钥而不是密码(更安全)
故障排除
1. 连接失败
- 检查服务器地址和端口是否正确
- 检查网络连接
- 检查防火墙设置
2. 密码错误
- 确认密码正确
- 检查用户名是否正确
3. 构建失败
- 检查 Docker 是否正常运行
- 检查 Docker Compose 是否安装
- 查看构建日志获取详细错误信息
4. 文件上传失败
- 检查文件路径是否正确
- 检查服务器磁盘空间
- 检查文件权限
注意事项
- BuildKit:Dockerfile 默认启用 BuildKit,如果本地未开启可通过
$env:DOCKER_BUILDKIT=1(PowerShell)或export DOCKER_BUILDKIT=1(Bash)打开。 - PuTTY:仍需
plink.exe/pscp.exe(Windows 下)。可在 https://www.putty.org/ 下载。 - Host Key:首次连接服务器建议手动将指纹加入
known_hosts,避免脚本交互中断。 - 凭证管理:优先使用 SSH 密钥或加密密码文件,避免明文写入脚本。
更新日志
- 2025-11-19:清理 legacy 脚本,仅保留安全部署 + 本地打包路径;README 改为按场景列举。
- v1.0.0:初始版本,支持 Docker 构建缓存、密码/密钥认证、自动备份。