P343 · 任务流程

发布的必须是实际验证过的版本

Promote the Exact Verified Artifact

测试、暂存和发布使用同一份产物,并回读确认内容没变。

编辑审核

以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。

使用场景

发布流程测试了归档 A,却在发布前重建 B并沿用同一版本号。即使源码没变,依赖或生成环境也可能改变字节。教学任务要让实际提升的产物保持已验证身份;发布本身仍需要相应授权。

具体做法

从目标修订生成一次产物,记录完整摘要与环境,测试这份归档。暂存同一字节并从实际服务位置核对内容/完整性,匹配才提升并再次回读。若需重建,B 是新候选,不能借 A 的证据;记录不匹配和未验证状态,别用版本标签代替字节身份。

反例

A 已测试所以重建 B 可以直接用相同版本发布。只看版本号相同就宣布用户收到的是已验证产物,不做回读。

改进写法

教学链使用同一 A:记录源码修订与归档摘要,验证 A,暂存 A,回读实际暂存内容并核对摘要,符合授权条件后才提升该身份并确认服务版本。若字节不匹配或重新生成 B,停止该提升并把它作为待验证候选。测试记录必须指向用户实际收到的产物,不只指版本号。

为什么这样改

重建切断了测试对象与交付对象的连续性。摘要与回读把证据贯穿准备、暂存和提升,也能发现错包、错源或同版本不同字节。

如何验证

示意记录有修订→A 摘要→测试→暂存回读→提升回读。替换为 B 或错误来源时应检出不匹配,不能宣告提升通过。

摘要匹配只说明字节相同,仍需要规定检查和权限;本篇不发布真实包。

适用边界

确定性构建可以减少差异但不能免除身份核对,签名与供应链要求也独立存在。来源具体 registry、版本及平台命令是冻结实例,不应直接作为当前发布流程执行。

原文与版本

如何收录这些方法