flnxi-Wu/docs/deployment/quick-deployment-guide.md
WuYongJie 63ec6b7dfb fix: 修复排行榜按钮消失、tag排序和输入框浅色模式问题
1. 排行榜悬浮窗关闭后小按钮消失问题
   - 修复面板居中模式关闭时按钮位置错误
   - 保存并恢复按钮的居中状态

2. 首页tag按钮按素材数量排序
   - 添加按素材数量降序排序逻辑

3. 上传弹窗输入框浅色模式文字不可见
   - 添加 text-slate-900 确保浅色模式下文字可见
   - 添加 placeholder 样式确保占位符正确显示
2025-12-14 21:41:29 +08:00

5.6 KiB
Raw Blame History

模板系统优化 - 快速部署指南

使用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. 验证部署

访问以下地址验证:

快速测试:

  • 模板管理页面正常
  • 创建新模板
  • 上传素材测试
  • 首页筛选功能正常

部署参数说明

常用参数

# 跳过代码检查(快速部署)
.\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

部署流程

  1. 本地构建推送

    .\deploy-new-fixed.ps1 -Registry harbor
    
  2. 服务器数据迁移

    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
    
  3. 验证部署

    • 检查应用是否正常运行
    • 执行冒烟测试
    • 查看日志确认无错误
  4. 监控观察

    • 持续监控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