From d7cc5d62a0253b30c6a162e879e334c799aad6c1 Mon Sep 17 00:00:00 2001 From: xuans Date: Wed, 30 Sep 2026 20:54:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=BA=90=E7=A0=81=E4=BA=A7?= =?UTF-8?q?=E7=89=A9=E8=BE=B9=E7=95=8C=E5=A4=8D=E5=AE=A1=E5=B9=B6=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E9=85=8D=E7=BD=AE=E5=A4=B1=E8=B4=A5=E5=9B=9E=E6=BB=9A?= =?UTF-8?q?=E5=AE=9E=E6=9C=BA=E8=AF=81=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/Linux生产流程测试记录.md | 27 ++++++++++++++++++++++++ doc/Scert整改任务执行清单.md | 9 ++++++++ doc/Scert整改合并优化清单.md | 15 ++++++++++++- doc/仓库目录与产物边界说明.md | 4 ++++ doc/基础整改任务规格.md | 5 +++-- 5 files changed, 57 insertions(+), 3 deletions(-) diff --git a/doc/Linux生产流程测试记录.md b/doc/Linux生产流程测试记录.md index 8fe2d29..caeebb6 100644 --- a/doc/Linux生产流程测试记录.md +++ b/doc/Linux生产流程测试记录.md @@ -1,4 +1,31 @@ # Linux 生产流程测试记录 +## 最新实机与复审记录(2026-09-30 20:53) + +### 正式页面配置校验失败与恢复 + +- 20:06 确认 /etc/nginx/scert-acceptance-missing-20260930.conf 不存在后,通过服务器编辑表单将校验命令临时设为 nginx -t -c 加该路径;不创建辅助脚本、不修改真实 Nginx 配置,不停止站点。 +- 20:07:25 正式页面部署已有证书返回 502,任务 434b370b-72a2-41fe-a507-fbc5abe955c9 为 failed,持久化结果记录尝试 10f6606c-3ce2-45bf-b5de-74164af80c11 失败。受保护服务日志明确记录“配置校验失败:退出码 1;文件已回滚”。页面使用脱敏通用失败提示,具体原因从受保护日志核对。 +- 失败前后 cert.pem、fullchain.pem、key.pem 的 inode 分别保持 2580557、2580558、2580559,校验和均与成功签发时一致,权限为 644、644、600;目录仅剩这三个文件,没有部署锁、临时文件或备份残留。Nginx 主进程 823 和工作进程 80097、80098 未变,HTTPS 返回 200。 +- 20:10:01 正式页面将校验命令恢复 nginx -t;20:10:44 再次部署返回 200、耗时 1375 毫秒,页面显示 1 台成功、域名恢复正常。文件 inode 更新为 2580560、2580561、2580562,内容校验和不变;工作进程变为 80397、80398,配置检查通过、HTTPS 为 200。没有再次申请生产证书。 +- 20:49 再查服务 active、管理入口 ready、测试 HTTPS 200。浏览器会话随后已失效,读取任务接口未获得新的有效列表,未把此读取异常当成部署失败或伪造新的报告。 + +### P0-03 当前源码独立复审 + +- 修改前检查点 1857d72 首次推送认证失败,第二次推送成功。全程没有删除工作区既有文件。 +- 20:48 从本地仓库独立克隆到 .runtime/source-boundary-review-20260930-2015,使用 no-hardlinks 并签出精确部署源码 0bb427d5f8e230e7f9b600dda5546ef7fdd59ddb;没有复制现有依赖、构建目录或运行配置。 +- 正式 build-release.ps1 按锁文件安装前端依赖并构建 Linux amd64 发布包,source_dirty=false。Go 1.26.6、Node 24.19.0、npm 11.17.0;发布路径检查通过。 +- 原工作区源码边界专项测试通过(1.251 秒),独立克隆发布模块完整测试通过(3.762 秒);测试核对仓库规则和实际索引,不依赖用户 Git 排除规则。 +- 发布清单共 23 项 SHA-256 全部核对一致,Linux 目录共 22 个文件;包内仅正式可执行文件、安装器、服务与 Nginx 模板、中文部署说明及 Web 文件。未携带数据库、私钥、浏览器缓存、源码映射或依赖目录。首次检查误把克隆父目录 .runtime 算作包内容,已改按包内相对路径复查;这是核对命令修正,不是产品缺陷。 +- 构建后独立克隆 git status 为空,锁文件差异为空。远端既有正式包 SHA256SUMS 再次全部通过,22 个文件;线上程序仍为此前已验证的 944f2f787089942dd33ffb8b6e1e721b9f624c37cec220c3ca4801ed4e637704。 +- 独立克隆复审包归档 SHA-256 为 feb24b5876628e71ad6354063032b82845ef82628e7015e3be11a6697728980a,程序为 d854e343373c0ba15b50075f1b4a70470b413cfb46d11b7d59248b7c0ed13fc6。此包没有部署,不与线上候选混用。 +- 结论:P0-03 的源码与产物边界复审通过;不外推为其他 P0 或生产功能全部通过。 + +### 新发现与剩余门禁 + +- 原工作区与独立克隆有 27 个前端输入原始字节不同,比较后全部仅为 CRLF/LF 差异;规范化比较没有其他内容差异。Git 的干净状态不能单独证明原始构建输入字节一致。P0-04 需增加构建前拒绝非规范换行的检查,不自动改写中文源码。 +- 配置校验失败的文件回滚已验证,不代表重载部分执行失败、后置 HTTPS 校验失败或中途断电全部通过。 +- 多域名、多服务器、任务恢复、三数据库与清库首次初始化仍待完成;当前仍不满足完整生产放行。 + ## 最新实机记录(2026-09-30 20:06,正式证书单台部署成功路径) ### 范围与发布身份 diff --git a/doc/Scert整改任务执行清单.md b/doc/Scert整改任务执行清单.md index 9fc50a8..c6161a3 100644 --- a/doc/Scert整改任务执行清单.md +++ b/doc/Scert整改任务执行清单.md @@ -1,4 +1,13 @@ # Scert 整改任务执行清单 +## 最新任务状态(2026-09-30 20:53) + +- [✓] P0-03 按本项范围完成复审,不再与整体生产验收混为一谈。源码与产物隔离、独立克隆构建、忽略规则、索引与实际部署包边界均有本轮证据。 +- [x] 配置校验失败回滚及恢复后的再次部署完成实机验证,具体步骤与证据见《Linux生产流程测试记录》20:53 章节。 +- [~] P0-04 构建输入换行一致性整改。需求确认:正式构建不能仅依赖 Git 干净状态判断输入一致;只检查并拒绝非规范换行,不自动改写用户中文文件;补充正常、异常、二进制、空输出与命令失败回归。 +- [ ] 完成上述开发后重新构建验证,明确新包身份;本轮独立克隆包未部署,不能与线上包哈希混用。 +- [ ] 继续多域名复用、重载失败、后置 HTTPS 校验边界、任务恢复、三数据库与清库首次初始化。 +- [!] 第二台真实服务器仍缺;整体生产验收没有放行。其余任务保留原状态,不因 P0-03 复审而自动提升。 + ## 最新任务清单(2026-09-30 20:06,签发成功后的交叉复核) 需求确认:沿用已确认生产验收范围;先核对真实成功路径,再用现有证书验证失败回滚,不创建辅助验收脚本、不修改禁止操作的业务域名。 diff --git a/doc/Scert整改合并优化清单.md b/doc/Scert整改合并优化清单.md index 82d7f36..cd90229 100644 --- a/doc/Scert整改合并优化清单.md +++ b/doc/Scert整改合并优化清单.md @@ -1,4 +1,15 @@ # Scert 整改、合并与优化清单 +## 最新进度(2026-09-30 20:53,回滚实机证据与 P0-03 独立复审) + +本节及对应任务正文是当前状态;下方按日期保留的“总体验收仍为 P0-03”属于历史口径。任务复审和整体生产放行分开判断,不能将所有后续门禁都挂在目录整理任务下。 + +- [✓] P0-03 源码与产物边界复审通过:当前部署源码 0bb427d 的独立克隆正式构建成功;发布模块完整测试通过;23 项发布清单校验通过、22 个包内文件边界检查通过;克隆构建后工作区和锁文件无变化。实际部署包全部校验和再次通过。未删除既有文件。 +- [x] 20:07 正式页面部署现有证书时注入配置校验失败;服务日志确认文件回滚,三个原文件的 inode、校验和、权限恢复一致,无残留锁,Nginx 工作进程不变,HTTPS 仍为 200。 +- [x] 20:10 页面恢复正常命令后再次部署成功,域名恢复正常,目标文件更新、Nginx 工作进程重建、HTTPS 仍为 200;没有重新签发证书。 +- [~] P0-04 新发现:原工作树与独立克隆有 27 个前端文件仅换行字节不同,Git 状态均可为干净,但构建产物哈希不同。下一开发任务为正式构建增加源码换行一致性拒绝检查与回归,不用脚本改写中文源码,也不声称二进制可重复构建已通过。 +- [ ] 后续门禁继续包含多域名复用、真实多服务器、重载失败和后置 HTTPS 失败边界、任务恢复、三数据库及清库首次初始化。 +- [!] 第二台真实服务器尚未落实,DNS 偶发超时仍需评估。P0-03 局部复审通过不等于全部 P0 通过,不代表 10 月 1 日上线条件已满足。 + ## 最新进度(2026-09-30 20:06,生产证书与单台服务器部署闭环) 需求沿用用户已确认范围:继续真实生产流程、域名与服务器多对多、失败可诊断可恢复,并同步任务证据。不缩减完整验收范围。总体验收仍为 P0-03 完成待复审。 @@ -486,7 +497,9 @@ doc/生产部署与运维说明.md ## P0-03 整理源码、构建产物和部署产物 -**状态:** `[x] 已完成,等待复审` +**状态:** `[✓] 复审通过`(2026-09-30 20:53,仅本项源码与产物边界) + +**复审证据:** 当前部署源码独立克隆、正式 Linux 发布构建、发布模块完整回归、23 项 manifest 校验、22 个包内文件检查、构建后干净索引,以及远端实际发布包全部 SHA256SUMS 核对通过。详见《Linux生产流程测试记录》同日 20:53 章节。未删除既有文件;后续构建可重复性和生产功能门禁仍单独执行。下段旧位置说明为历史记录。 **位置说明:** 本项不是当前开发卡点。当前主线已转到 P0-07 的业务资源写入授权;保留 `[x]` 是因为整项还需最终复审,不表示后续任务未开始。 diff --git a/doc/仓库目录与产物边界说明.md b/doc/仓库目录与产物边界说明.md index 7bfc8b6..9cca0b4 100644 --- a/doc/仓库目录与产物边界说明.md +++ b/doc/仓库目录与产物边界说明.md @@ -1,5 +1,9 @@ # 仓库目录与产物边界说明 +## 最新复审(2026-09-30 20:53) + +P0-03 已按本文范围复审通过:部署源码独立克隆正式构建、发布模块完整测试、发布清单和实际远端包校验、构建后索引检查均通过,未删除既有文件。证据见《Linux生产流程测试记录》同日章节。换行导致的原始构建输入差异转入 P0-04 继续整改,不把目录边界复审等同于可重复构建或完整生产放行。 + ## 一、源码和产物分离 | 目录 | 用途 | Git 边界 | diff --git a/doc/基础整改任务规格.md b/doc/基础整改任务规格.md index 23cc37c..8a4f75b 100644 --- a/doc/基础整改任务规格.md +++ b/doc/基础整改任务规格.md @@ -179,8 +179,9 @@ P0-06 与 P0-07 均维持 `[~]`,六阶段中的隔离、生产和最终验收 ## P0-03 整理源码、构建产物和部署产物 - 任务编号:P0-03;任务名称:整理源码、构建产物和部署产物;优先级:P0。 -- 当前状态:`[x] 已完成,等待复审`。 -- 六阶段:需求确认 `[x]`;代码实现 `[x]`;自动化测试 `[x]`;隔离环境测试 `[x]`;生产部署测试 `[ ]`;最终验收 `[ ]`。 +- 当前状态:`[✓] 复审通过`(2026-09-30 20:53,仅源码与产物边界)。 +- 六阶段:需求确认 `[x]`;代码实现 `[x]`;自动化测试 `[x]`;隔离环境测试 `[x]`;生产部署测试 `[x]`;最终验收 `[✓]`。 +- 最新复审:当前部署源码 0bb427d 的独立克隆正式构建、发布模块完整测试、23 项清单校验、干净索引及实际远端包校验通过,详见《Linux生产流程测试记录》20:53 章节。下方早期未部署结论为历史证据;本项通过不提升其他任务或整体上线状态。 - 问题说明:既有忽略规则未覆盖根级二进制、通用归档、补丁和数据库旁路文件;开发机排除配置不能代表新克隆。 - 涉及文件:`.gitignore`、`backend/internal/releasearchive/source_boundary_test.go`、`release/README.md`、`artifacts/README.md`、`tests/README.md`、`scripts/README.md`、《仓库目录与产物边界说明.md》。 - 依赖任务:P0-01。