fn_b/docs/maintenance/EDITORIAL_RELEASE_2026-10-31.md

23 lines
3.1 KiB
Markdown
Raw Permalink 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-10-31)
已通过Git提交、推送并部署正式cfn。功能HEAD `3a62bccbcdb2da0630e8c192b5b758c264624514`,基线 `4fb57e494de1796d314698c6317eb58bc1acbed1`,分支 `codex/editorial-release-20261031`。后续仅记录文档的提交不改变此功能版本。
范围:固定本机SSH→白色机VPS-001→业务服务器VPS-003,服务器进程内调用原有文章API,恢复台账/发布回读,新文独立展示时间,以及本机每周三篇、每日15:00检查的计划工具。没有部署白色机写作任务,没有修改SSH/网络/原定时器,没有恢复test。
## 验证
- 隔离SQLite业务测试30项、268断言通过,覆盖原API、点赞、发布封装:冻结草稿、图片上传和SHA、真实模板渲染、未review拒发、并行版本冲突、锁互斥、过期权限拒绝、失败后配置恢复、已提交但响应丢失后按原UUID恢复、搜索pending只重试同步、正文回读检测外部改动。新文随机展示偏移冻结、0~21600秒范围、真实创建/年度点赞时间不改、旧文修改保留展示日期均通过。
- Python5项测试通过:三篇随机不同日期/每日15:00、漏跑回补、同日不连发、未决任务恢复和真实时间计数、跨周不积累未开始欠稿、固定白色机转发及主机核验。
- 本地指定可空字段迁移已完成;第一次沙箱连接MySQL被拒,按授权提升后执行成功。
- 正式站188篇文章的ID、slug、标题、正文、封面、栏目、创建/更新日期逐项保持;新增展示字段均为空,旧文显示不变。既有生成标签模板哈希和`data.ms/`并行目录保留。
- 真实业务服务器命令以nginx读取10篇编辑文章目录通过;本机新release.py经固定白色机链路调用同一目录也通过,未访问本机线上HTTP。
- 服务器侧HTTP:首页、/advanced、系统代理/TUN文章200;公网编辑目录503(保持关闭),公用编辑密钥文件不存在。进程内认证没有写入.env或凭据文件。
部署首次迁移因Git检出采用私有备份umask导致新代码文件不可被nginx读取,已自动回退;随后仅修正本次代码文件及路径的正常读取权限,沿原恢复点重试成功,私有配置/备份权限未放宽。未重置数据库或数据。
## 回滚与边界
私有恢复点位于VPS-003 `/root/backups/cfn-editorial-release-20261031/`:Git bundle、原HEAD/工作区状态、标签模板原件、23表一致性数据库备份、文章核心字段快照、提交及验收回执。正常代码回退检出上述基线并清响应缓存,保留新增可空列与既有文章/发布历史;不执行drop列或整库覆盖。暂停周期任务使用automation_update ID `fna`。
调度已更新为每周三篇、北京时间每天15:00,自2026-11-02当周开始;首轮自动写作未执行。为避免污染正式内容,本次没有在生产发布演练文章;端到端写入/恢复在隔离测试验证,生产验证为真实SSH、命令、API目录和服务器HTTP。已完成服务器侧验收,未做线上页面验收。精确回执见[JSON](EDITORIAL_RELEASE_2026-10-31.json)。