|
@@ -0,0 +1,47 @@
|
|
|
|
|
+# 部署回执:3b90e26d6 → testing(2026-11-12 06:47)
|
|
|
|
|
+
|
|
|
|
|
+## 结论
|
|
|
|
|
+
|
|
|
|
|
+**目标提交 3b90e26d6(S-cfc-155 health.report.create,createReport reportType 取值校验)的改动已真实运行在 testing 环境,无需降级重部署。**
|
|
|
|
|
+
|
|
|
|
|
+testing 当前线上版本为 **`b0f40676f19b6b2cb550a0f625f1eea41a6618c5`**(自动部署链路于 2026-11-12
|
|
|
|
|
+06:46:18 写入 state,代码源为 `70c29f6e1` + auto-bump 产物回写),该提交是 `3b90e26d6` 的
|
|
|
|
|
+**后代**(领先 8 个提交,0 落后;`git merge-base --is-ancestor 3b90e26d6 b0f40676f` → 成立),
|
|
|
|
|
+即 3b90e26d6 的全部改动已在线上。3b90e26d6 仅改后端 `HealthReportController.java`(+5/-1,
|
|
|
|
|
+reportType 空串/非法值拒绝),已随本轮部署链路真实构建进线上 JAR,**无需降级重部署**。
|
|
|
|
|
+
|
|
|
|
|
+## 证据
|
|
|
|
|
+
|
|
|
|
|
+| 项 | 值 |
|
|
|
|
|
+|----|----|
|
|
|
|
|
+| 目标提交 | `3b90e26d6b55aa37ef47a7dfdad496971445c6e2`(fix(S-cfc-155): health.report.create reportType 取值校验,2026-11-12 06:25:30,仅改 `HealthReportController.java` +5/-1) |
|
|
|
|
|
+| 线上提交 | `b0f40676f19b6b2cb550a0f625f1eea41a6618c5`(06:46:18 写入 state,auto-bump 产物提交) |
|
|
|
|
|
+| 构建源提交 | `70c29f6e1`(纯净 worktree 构建),3b90e26d6 为其祖先;auto-bump 仅回写 `cfc-web` 版本/CHANGELOG 产物文件,不改后端源码 |
|
|
|
|
|
+| 祖先关系 | `git merge-base --is-ancestor 3b90e26d6 b0f40676f` → 成立(领先 8 个提交,0 落后) |
|
|
|
|
|
+| 源码一致性 | `git diff 3b90e26d6..b0f40676f -- cfc-backend/.../HealthReportController.java` → 空(0 行,字节一致) |
|
|
|
|
|
+| JAR 内容校验 | 线上 JAR 内 `BOOT-INF/classes/.../HealthReportController.class` 反编译含 `reportType.trim().isEmpty()` 分支与 `不支持的reportType: physical_exam / gut_flora` 拒绝路径 → 证实 3b90e26d6 的 reportType 校验已打进线上包 |
|
|
|
|
|
+| 部署时间轴 | 06:45:34 H5 构建成功 → 06:45:41 安装新 JAR → 06:45:41 启动 PID=3755245 → 06:46:11 健康检查通过 → 06:46:11 前端/H5 产物部署 → 06:46:18 auto-bump 提交推送 + 写入 state |
|
|
|
|
|
+| 部署 state | `/home/iwt/.cfc-deploy-state`: `last_commit=b0f40676f...` `backend_jar_md5=fb421e80ed2a1b9b51af76e24915c314` |
|
|
|
|
|
+| 线上 JAR | `/sc-data/springboot/cfc/cfc-backend-1.0.0.jar`,md5 `fb421e80ed2a1b9b51af76e24915c314`,与 state 一致 |
|
|
|
|
|
+| 运行进程 | PID 3755245,`java -Xms512m -Xmx1024m -jar /sc-data/springboot/cfc/cfc-backend-1.0.0.jar`,启动于 2026-11-12 06:45:40 |
|
|
|
|
|
+| 部署链路复跑 | 06:47:46 手动执行 `/home/iwt/cfc-deploy-251.sh`,输出「无更新(当前=b0f40676f,远程=b0f40676f)」,exit=0 |
|
|
|
|
|
+| 回滚 | 本轮启动健康检查一次通过(06:46:11),未触发回滚 |
|
|
|
|
|
+
|
|
|
|
|
+## 健康回执(回执出具时直连探测)
|
|
|
|
|
+
|
|
|
|
|
+| 目标 | 探测 | 结果 |
|
|
|
|
|
+|------|------|------|
|
|
|
|
|
+| 后端 | `POST http://localhost:9082/api/admin/foods/list` | 401(无 token 预期) |
|
|
|
|
|
+| 管理端 | `http://localhost/admin/`(Host: cfc.iwintrue.com) | 200 |
|
|
|
|
|
+| 小程序 H5 | `http://localhost/frontend/`(Host: cfc.iwintrue.com) | 200 |
|
|
|
|
|
+
|
|
|
|
|
+## 说明
|
|
|
|
|
+
|
|
|
|
|
+- 按编排要求,本次**未创建/修改** `.workbuddy/tasks.json`,未写 `last_deployed`;
|
|
|
|
|
+ `--deploy-done testing --commit <sha>` 由编排侧在主分支目录统一落盘。
|
|
|
|
|
+- 部署链路:`/home/iwt/cfc-deploy-251.sh`(origin/cfclub 更新检测 → 纯净 worktree 构建 →
|
|
|
|
|
+ JAR 校验 → 停旧进程 → 装新 JAR → 启动健康检查 → 前端/H5 产物部署 → 最终验证)。
|
|
|
|
|
+- 3b90e26d6 为**后端**改动(HealthReportController.java),以线上 JAR 内 `HealthReportController.class`
|
|
|
|
|
+ 的 reportType 校验字节码为主要验证口径;本轮部署 JAR md5 与 state 一致。
|
|
|
|
|
+- 线上 commit `b0f40676f` 为 auto-bump 产物提交(`70c29f6e1` 之后仅版本号/CHANGELOG 变更),
|
|
|
|
|
+ 后端源码与 3b90e26d6 一致,属目标提交的后代。
|