← 中文资源

简体中文版本

发布依赖锁定工作流

发布前冻结依赖版本、验证锁定构建,并记录解析出的依赖集合。

阅读英文原文

目标

为让发布可复现,需锁定并记录全部依赖版本。本工作流在切出发布候选后停止新增或升级依赖,仅用锁定版本重建并校验完整性哈希,生成 SBOM 列出所有随附组件与版本,并把 SBOM 随发布产物一同公开供下游审计。

步骤要点

  1. 切出候选后冻结依赖变更。
  2. 仅用锁定版本重建并校验哈希。
  3. 生成包含全部组件的 SBOM。
  4. 把 SBOM 随发布产物公开。
npm ci --ignore-scripts
npx @cyclonedx/cyclonedx-npm --output-file sbom.json

验证

按顺序执行上述步骤后,逐项确认每个步骤的预期状态均已满足;只有全部预期状态成立,才认为本流程完成。若某一步未达到预期状态,应先按排错提示排查,不要跳过继续,以免掩盖问题。

排错提示

  • 浮动版本会导致构建不可复现。
  • 缺少 SBOM 会拖慢漏洞响应。
  • 冻结期自动合并更新会破坏发布稳定性。

适用边界

  • 依赖锁文件与 SBOM 工具。
  • 冻结期需暂停依赖机器人。