dy-dashboard/vault/知识库/工作指南/训练记录/2026-09-17-两阶段部署8.186到云端到11.79生产.md
2026-10-28 11:14:17 +08:00

33 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 2026-09-17-两阶段部署:8.186→云端→11.79生产 <!-- project: path:/home/gxd/.openclaw/workspace/dy-dashboard -->
### 1. 8.186 测试环境 → 云端 → 11.79 生产 两阶段部署
**旭东 → OpenClaw:**
> 1、需要打包8.186测试环境下所有的功能代码、数据库结构、数据库字段、训练记录,更新部署到云端环境下,不要覆盖云端环境的数据
> 2、等待第一步完成之后,打包云端环境下的全部内容包含所有数据,升级到11.79生产环境中
> 云端服务器 IP:82.156.135.91
> SSH登录用户名:ubuntu
> SSH登录密码:dieya123,.
**OpenClaw 响应:**
两阶段部署全部完成。
**阶段一:8.186 → 云端(保留云端数据)**
- 备份:代码 `~/dy-backups/pre-sync-20260917_165441/code-pre.tar.gz`(75.5MB / 990 文件)、数据库 `dy_data_full.sql.gz`(102.5MB),md5 已记录。
- 代码差异同步 10 个文件(app.py、routes/auth.py、dashboard.py、planning.py、products.py、purchase.py、services/field_perms.py、static/js/app.js 及 .gz、templates/base.html),dry-run 清单核对后再实跑;云端 `compileall`、`node --check`、`gzip -t` 全通过。
- 结构增量迁移:比对两端 `information_schema` 列清单(985 vs 981),仅新增 `param_list` 表(5 列),0 个字段需要 MODIFY;云端独有的 `finished_products.待提数量` 按要求保留。迁移后列数 985=985。
- 知识库同步 696 篇训练记录(不加 --delete,云端独有笔记保留)。
- 平滑重载(`kill -HUP`)+ 刷缓存:服务 active,`127.0.0.1:18888/login` 与 `https://gyl.dieya.net.cn/login` 均 200,下拉 app.js 与磁盘 `cmp` 一致;`param_list` 自动播种 X=云仓销量/昨日销量、Y=外仓销量/昨日销量。
**阶段二:云端全量(含数据)→ 11.79 生产**
- 预检:云端 52 表 / 生产 51 表(仅差 param_list),feedback 两端均 123 行,生产为 `systemd --user` 单元,磁盘余量 415G。
- 云端打包:`dy-cloud-full-20260917_165726.tar.gz`(75.5MB)+ `dy_data_cloud_full.sql.gz`(102.5MB,`--ignore-table=dy_data.feedback`);自检 CREATE TABLE=51、feedback 插入 0、param_list 建表 1、gzip 均 OK。md5:tar `450b265cc41e55c55bcc05893c9fa961`、sql `45c78ac7f6ba3205334253e1fdc77ae3`;云端→本机→生产 md5 三端一致。
- 生产备份:`~/.openclaw/workspace/dy-dashboard_backups/pre-cloud-sync-20260917_165904/`(`prod-code-pre.tar.gz` 74MB + `prod-db-pre.sql.gz` 101MB,51 表,gzip 校验通过)。
- 就地替换:上传目录先移出再合并(生产原有 113 项 → 合并后 117 项,生产图片全部保留);`VAULT_PATH` 改回生产路径;保留既有 venv 安装依赖;清理 `__pycache__` 与 `tmp_cache`;`compileall` 与 `node --check` 通过。
- 数据导入:`zcat ... | mysql --force`,错误文件除密码告警外为空(错误 0 条);导入后 52 表,`param_list` 已含 X/Y。
- 全表行数核对:52 张表逐一比对,仅 `dashboard_logs` 云端 26679 / 生产 26674(打包与导入窗口内生产新增 5 条日志),其余 51 张完全一致。
- 重启与探针:`systemctl --user restart` 后单元 active、5 个 worker 正常启动、无新错误;`refresh_all_caches()` 完成;app.js 的 gz 缓存重生成;`127.0.0.1:18888/login`、`192.168.11.79:18888/login` 均 200,下发 app.js 与磁盘 `cmp` 一致;两端字段清单 986=986,差异 0。
- 生产功能探针:`param_list` X/Y 正确,计划预测新字段(云仓/外仓可分配库存、是否调拨、云仓/外仓支撑天数)、`include_inner=auto`、内料同步守卫均已就位。
**备份位置**:云端 `~/dy-backups/pre-sync-20260917_165441/` 与 `~/dy-backups/upgrade-cloud-full-20260917_165726/`;生产 `~/.openclaw/workspace/dy-dashboard_backups/pre-cloud-sync-20260917_165904/`。未删除任何云端独有表/列,`feedback` 按约定保留生产本地数据。