diff --git a/测试环境单机部署与配置契约.md b/测试环境单机部署与配置契约.md index 500a231..e01795b 100644 --- a/测试环境单机部署与配置契约.md +++ b/测试环境单机部署与配置契约.md @@ -1,5 +1,11 @@ # 测试环境单机部署与配置契约 +## 灰度发布后验收要求 + +- 用户于 2026-10-23 明确:每次灰度发布完成后,必须在实际部署的新版本上重新执行灰度验收脚本,不能复用上一版本真实 HTTP 结果代替发布后验收。发布前单测、构建与健康检查,以及局部接口烟测不能替代该步骤。 +- 当前 Admin 全量入口的 gray 模式仅开放显式 `phase5-root-fulfillment` 完整 F40 闭环及其客户资质依赖;每批记录部署版本、独立报告、通过/失败及未覆盖范围。默认 TEST 全模块及故障注入不得直接用于灰度;灰度闭环通过不表述为默认全模块或人工页面验收通过。 +- 本批 Firstleg/Lastleg 7ef8411ea45a、Admin 源 9542b71cc79b 已于北京时间 13:51–13:52 补跑发布后完整 F40:1440/1440 项断言通过、776 次唯一 HTTP 请求、0 失败,进程退出码 0。部署后验收要求本批已满足;覆盖边界与证据见本文末尾本批灰度晋级结果。 + ## 2026-10-23 取消柜号 ISO 校验:已发布 TEST 并完成真实 HTTP 联调 - 用户授权本次部署及真实 HTTP 验证。运行源码固定为后端 `9c19980736f4227b50ef94b19665b76db66b0fc0`,移除预装确认、PDA 任务与完成、装柜事件及海外接收链中的 ISO 6346 格式/校验位限制;继续校验非空、规范化、业务版本及状态。后续 `ecc76d4f9` 仅调整本轮 HTTP 验证范围及说明,不改变部署源码。 @@ -3249,3 +3255,15 @@ Client #382(`a0736239e4ee4cd58b620dab912ffc0641360d9f`)正式页面在1920× - 发布后平台真实登录、散板需求查询、排车列表与既有排车详情、退出本次会话均 HTTP 200 且业务码 200。Admin 公网健康及首页引用的 61 个 JS/CSS 资源均 HTTP 200,公网首页摘要与运行容器相同;实际发布 JS 保留智能排车“发布公共需求”,维护车辆的“发布公共散板需求”选项已移除。这是运行版本、资源和只读 API 证据,不替代人工页面截图或完整业务链验收。 - 本批未执行 SQL、未修改 Nacos/Gateway 配置,未创建、取消或修改业务单据。发布字段沿既有数据库列由新建请求显式写入;默认不发布及编辑不可修改的规则见拼车主契约。上轮额外运行的智能排车旧缓存清理测试仍有 1 项既有失败,未纳入本批已通过范围,不宣称 Admin 全量测试通过。 - 脱敏发布状态、构建日志、产物摘要及 HTTP 检查保存在本机私有环境目录 `publication-release-20261023/`;凭据不入仓库。用户要求在 TEST 部署及验证通过后通知既有灰度对话,本批不自行执行灰度部署。 + +### 本批灰度晋级结果(2026-10-23,已发布并通过定向验收) + +- 用户已授权本批 Firstleg、Lastleg、Admin 发布、排车默认值调整及业务验证。发布前 15 个运行容器 healthy,14 项 Nacos 配置已留摘要;自营四页两个仓的 8 个接口正常,BUSINESS 模式、4 个采集范围配置及修订已留基线。 +- 相对上一批灰度,本批累计包含 Firstleg 订舱/拖车资料前置条件移除、柜号规则调整,以及 Admin 测量/订单展示与订舱/拖车界面改动,因此实际发布 Firstleg、Lastleg 源 7ef8411ea45ac9c57e43f420da3b5c605474d3bd 及 Admin 源 9542b71cc79b56e77080591646285415ae2bcf5b。其他服务、Client 和 H5 未代发。Firstleg 及公共依赖源码与此前 #517 / 9c1998073 的已验输入一致;Lastleg 复用 #718/#429 的完整模块门禁。两项灰度 Job 显式跳过重复测试执行,仍完成生产及测试源码编译、镜像构建和健康检查。 +- 唯一 SQL 为 ll_dispatch_order.publish_looseboard_demand 的 ALTER COLUMN SET DEFAULT 0。单表备份已核对导出完成标记、文件大小及 SHA-256;执行前后及发布后,原有 5 条排车的身份、状态和发布事实逐条一致。没有重放基线或清理数据,上批 incoming_no 的 utf8mb4_unicode_ci 纠正仍保留。自营源码无差异,数据、账号凭据及采集配置继续保护。SQL、备份、版本清单和脱敏验收证据位于仓库外 publication-gray-20261023/。 +- 后端 PR #31、Admin PR #22 已合并;main 分别为 20b2a7e0582b、ff071c01592c,文件树与授权源一致。baiyue-firstleg-prod-firstleg #19、baiyue-firstleg-prod-lastleg-service #18、admin-web-prod #30 均 SUCCESS;后端运行 tag 7ef8411ea45a,Admin 运行 tag ff071c01592c(上述源的合并提交)。Admin 临时 SCM pin 在确认精确检出后已恢复。最终仅这三个容器镜像变化,15 个运行容器全部 healthy,两个后端健康接口 UP。 +- 正式 Gateway 排车定向验收 18 项通过、21 次请求无未知结果:缺省不发布、显式发布、创建原键重放、普通维护保存及传入相反发布值均不改变创建事实。新建空单 PC202610230006(不发布)、PC202610230007(发布)均在验收后按正式取消入口变为 CANCELLED,记录和发布事实保留,无货物、车辆或司机占用;原 5 条排车未写入。此前定向验收未重复完整装车至签收链;用户明确每次发布后必须重跑后,已补充下述本批完整 F40,不再用上批版本结果替代。 +- 自营四页两个仓的 8 个接口发布前后均 HTTP 200、业务码 200;销量总数 5488/1069、库存总数 2783/769 保持一致,采集模式 BUSINESS。4 个采集范围配置摘要、事实/发布修订、任务及运行状态完全一致;577 个 SUCCEEDED、27 个历史 DEAD 未变化。14 项 Nacos 配置摘要不变,Lastleg 保持 3 GiB 内存/交换总限额、2 CPU,未发生 OOM。 +- 最终只读核验 27 项通过;Admin 公网首页与容器摘要一致、61 个首页引用 JS/CSS 均正常,实际 JS 保留智能排车“发布公共需求”并移除维护中的“发布公共散板需求”,自营四个页面包齐全。本次为真实接口、资源及运行验证,没有新增人工页面截图,不代替 1920×1080、100% 缩放人工视觉验收。H5 仍由用户自行发布。 +- 发布后完整 GRAY F40 补验:北京时间 13:51–13:52,使用本工作区 7ef8411ea45a 的正式脚本、显式 gray/phase5-root-fulfillment/BUY_DECLARATION 和全新隔离批次执行,1440/1440 断言、776 次唯一 HTTP 请求全部通过,success=true、fatal=null、退出码 0、最终 VERIFIED/FINISHED。覆盖下单、国内测量与分柜、装柜、海外收货、排车、出库、签收回传、重放及车/人资源释放;本轮临时海外 PDA 在 finally 停用,合成业务与审计证据保留。4 项非阻断缺口属于外部第三方,不扩称默认 TEST 全模块、真实第三方或人工页面验收。 +- F40 后再次验证:部署镜像 ID 无变化、15 容器 healthy、14 项 Nacos 摘要一致、原 5 条排车身份/状态/发布事实保留;自营四页两仓 8 次查询通过,采集任务、运行、范围配置及修订与发布前一致。报告为私有 publication-gray-20261023/production-f40-postrelease-http.json,过程、运行版本和保护回查分别见同目录 production-f40-postrelease-process.json、f40-runtime-before.json、f40-final-protection.json。