mirror of
https://github.com/This-weiyuqing/mi-fitness-health.git
synced 2026-10-18 03:03:49 +08:00
deploy: normalize release metadata and check route metadata only
This commit is contained in:
1 parent
1c05825b6a
commit
ecbd485700
6 files changed
+87
-7
No files matched your search
@@ -59,4 +59,6 @@ node --test qa/*.test.cjs
|
||||
|
||||
本机离线发布目录为 `artifacts/query-summary/release/`:镜像tar、image-id及同包配置digest、基础镜像id、覆盖配置、就绪/更新脚本、预期当前配置哈希及manifest.sha256。Docker引擎身份核对只接受本包确切的索引/配置digest,先校验整个tar;NAS引擎尚未实际导入验证。摘要和镜像包不提交Git。`Update-Nas.ps1`不带Deploy仅校验;正式执行必须先取得仅更新backend/web的明确确认,由用户交互输入sudo密码。更新脚本核对manifest和现有覆盖配置SHA256、保留旧覆盖与镜像、不变更.env,使用 `up -d --no-deps --no-build --pull never backend web`,比较其余健康服务容器id/镜像。失败恢复旧覆盖并尝试回退这两个服务。
|
||||
|
||||
当前NAS覆盖配置防覆盖哈希由controller在部署前只读取得:`3cdbdc882b169f5785d6d1c3c46ceb159e209c567d6e28ceb31b15d4280fcdd8`。实际正式更新时脚本再次验证;若有漂移即停止。此记录不是部署确认。NAS就绪脚本只访问资源/代理状态、匿名认证、日历和无效日期路由,不进行健康导出、合成/压力测试。
|
||||
`python deploy/query-summary/prepare-release.py`只读现有tar的OCI索引/配置元数据,以`write_bytes`生成UTF-8无BOM/LF的所有txt/sha256文件、同步当前执行脚本并重建manifest,不改镜像或tar。根.gitattributes固定shell及发布元数据为LF;shell身份读取器只去掉末尾CR/LF,随后严格校验`sha256:<64位小写十六进制>`,兼容历史CRLF而不接受其他空白/无效digest。审查修复后,旧CRLF/新LF分别对索引/配置两种身份的实际Linux shell模型全部通过,非法尾空格被拒;原tar SHA256保持不变。
|
||||
|
||||
当前NAS覆盖配置防覆盖哈希由controller在部署前只读取得:`3cdbdc882b169f5785d6d1c3c46ceb159e209c567d6e28ceb31b15d4280fcdd8`。实际正式更新时脚本再次验证;若有漂移即停止。此记录不是部署确认。NAS就绪脚本只访问资源/代理状态、匿名认证、日历及`/proxy/openapi.json`的paths元数据,确认四个GET路径存在;不发任何健康查询/导出请求,不运行无效参数、合成或压力测试。以上OpenAPI逻辑只在本机内存模型验证,未访问NAS。
|
||||
Reference in new issue
Block a user