完成源码产物边界复审并记录配置失败回滚实机证据
This commit is contained in:
parent
1857d7277a
commit
d7cc5d62a0
@ -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,正式证书单台部署成功路径)
|
||||
|
||||
### 范围与发布身份
|
||||
|
||||
@ -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,签发成功后的交叉复核)
|
||||
|
||||
需求确认:沿用已确认生产验收范围;先核对真实成功路径,再用现有证书验证失败回滚,不创建辅助验收脚本、不修改禁止操作的业务域名。
|
||||
|
||||
@ -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]` 是因为整项还需最终复审,不表示后续任务未开始。
|
||||
|
||||
|
||||
@ -1,5 +1,9 @@
|
||||
# 仓库目录与产物边界说明
|
||||
|
||||
## 最新复审(2026-09-30 20:53)
|
||||
|
||||
P0-03 已按本文范围复审通过:部署源码独立克隆正式构建、发布模块完整测试、发布清单和实际远端包校验、构建后索引检查均通过,未删除既有文件。证据见《Linux生产流程测试记录》同日章节。换行导致的原始构建输入差异转入 P0-04 继续整改,不把目录边界复审等同于可重复构建或完整生产放行。
|
||||
|
||||
## 一、源码和产物分离
|
||||
|
||||
| 目录 | 用途 | Git 边界 |
|
||||
|
||||
@ -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。
|
||||
|
||||
Loading…
Reference in New Issue
Block a user