1. 排行榜悬浮窗关闭后小按钮消失问题 - 修复面板居中模式关闭时按钮位置错误 - 保存并恢复按钮的居中状态 2. 首页tag按钮按素材数量排序 - 添加按素材数量降序排序逻辑 3. 上传弹窗输入框浅色模式文字不可见 - 添加 text-slate-900 确保浅色模式下文字可见 - 添加 placeholder 样式确保占位符正确显示
5.6 KiB
5.6 KiB
模板系统优化 - 快速部署指南
使用Harbor部署(推荐)
本项目使用 deploy-new-fixed.ps1 脚本通过Harbor进行部署。
部署步骤
1. 本地构建并推送到Harbor
# 使用Harbor部署(默认)
.\deploy-new-fixed.ps1 -Registry harbor
# 或指定Harbor配置
.\deploy-new-fixed.ps1 `
-Registry harbor `
-HarborUrl "harbor.flnxi.com" `
-HarborProjectName "flnxi" `
-HarborUsername "admin" `
-HarborPassword "Harbor12345"
脚本会自动完成:
- ✓ 代码检查(npm run check)
- ✓ Docker镜像构建
- ✓ 推送到Harbor Registry
- ✓ SSH连接到服务器
- ✓ 拉取镜像并部署
2. 服务器上执行数据库迁移
部署完成后,SSH连接到服务器执行数据库迁移:
# SSH连接到服务器
ssh root@45.249.208.118
# 进入部署目录
cd /root/deploy
# 应用数据库迁移(Prisma)
docker exec flnxi-material npx prisma migrate deploy
# 运行数据迁移脚本(迁移旧数据)
docker exec flnxi-material npm run migrate:template-data
# 验证数据完整性
docker exec flnxi-material npm run verify:template-data
3. 验证部署
访问以下地址验证:
- 应用首页: http://45.249.208.118:4320
- 管理后台: http://45.249.208.118:4320/admin
- 模板管理: http://45.249.208.118:4320/admin/templates
快速测试:
- 模板管理页面正常
- 创建新模板
- 上传素材测试
- 首页筛选功能正常
部署参数说明
常用参数
# 跳过代码检查(快速部署)
.\deploy-new-fixed.ps1 -SkipCheck
# 只构建不部署(测试构建)
.\deploy-new-fixed.ps1 -SkipUpload
# 清理旧镜像(节省空间)
.\deploy-new-fixed.ps1 -CleanImages -KeepImageCount 5
# 使用SSH密钥
.\deploy-new-fixed.ps1 -KeyPath "C:\Users\YourUsername\.ssh\youyidian_prod_ed25519"
完整参数列表
-Server # 服务器地址(默认: 45.249.208.118)
-Username # SSH用户名(默认: root)
-KeyPath # SSH密钥路径
-Registry # Registry类型: harbor 或 default(默认: harbor)
-HarborUrl # Harbor地址(默认: harbor.flnxi.com)
-HarborProjectName # Harbor项目名称(默认: flnxi)
-HarborUsername # Harbor用户名(默认: admin)
-HarborPassword # Harbor密码
-SkipCheck # 跳过代码检查
-SkipBuild # 跳过Docker构建
-SkipUpload # 跳过推送和部署
-CleanImages # 清理旧镜像
-KeepImageCount # 保留镜像数量(默认: 5)
-Debug # 调试模式
-Help # 显示帮助
生产环境部署注意事项
推荐时间: 非业务高峰期(凌晨2-6点)
预计时长: 30-60分钟
部署前检查
- 代码已提交并推送到Git
- 所有测试通过(118个单元测试)
- 已在测试环境验证
- 已创建数据库备份
- 已通知相关人员
数据库备份
# SSH到服务器
ssh root@45.249.208.118
# 备份数据库
docker exec flnxi-postgres pg_dump -U postgres -d flnxi_material -F c -b -v -f /backup/backup_$(date +%Y%m%d_%H%M%S).dump
# 或使用外部备份
pg_dump -h 45.249.208.118 -U postgres -d flnxi_material -F c -f backup_$(date +%Y%m%d_%H%M%S).dump
部署流程
-
本地构建推送
.\deploy-new-fixed.ps1 -Registry harbor -
服务器数据迁移
ssh root@45.249.208.118 cd /root/deploy docker exec flnxi-material npx prisma migrate deploy docker exec flnxi-material npm run migrate:template-data docker exec flnxi-material npm run verify:template-data -
验证部署
- 检查应用是否正常运行
- 执行冒烟测试
- 查看日志确认无错误
-
监控观察
- 持续监控30分钟
- 关注错误日志
- 收集用户反馈
回滚方案
如果部署出现问题,按以下步骤回滚:
1. 停止当前版本
ssh root@45.249.208.118
cd /root/deploy
docker-compose stop app
2. 恢复数据库
# 恢复数据库备份
docker exec flnxi-postgres pg_restore -U postgres -d flnxi_material -c /backup/backup_YYYYMMDD_HHMMSS.dump
3. 部署旧版本
# 拉取旧版本镜像
docker pull harbor.flnxi.com/flnxi/flnxi-material:previous-tag
# 标记为当前版本
docker tag harbor.flnxi.com/flnxi/flnxi-material:previous-tag flnxi-material:local-deploy
# 重启应用
docker-compose up -d app
4. 验证回滚
- 检查应用是否正常
- 验证数据完整性
- 确认功能正常
常见问题
Q: Docker构建失败?
A: 检查 .env.production 文件是否存在,或使用 -EnvFile 参数指定环境变量文件。
Q: SSH连接失败?
A: 使用 -KeyPath 参数指定SSH密钥路径,或检查SSH密钥权限。
Q: Harbor推送失败?
A: 检查Harbor凭据是否正确,确认Harbor服务是否正常运行。
Q: 数据迁移失败?
A: 查看错误日志,检查数据库连接,必要时手动修复数据后重新运行。
Q: 健康检查超时?
A: 应用可能需要更长时间启动,手动访问 http://45.249.208.118:4320/api/health 确认。
查看日志
# 应用日志
docker logs -f flnxi-material
# 数据库日志
docker logs -f flnxi-postgres
# 实时监控
docker stats flnxi-material
需要帮助?
- 完整检查清单:
docs/deployment/pre-deployment-checklist.md - 项目总结:
docs/template-system-optimization-summary.md - API文档:
docs/api/template-system-api.md - 用户手册:
docs/user-guide/template-system-guide.md