Skip to content

发布流程

Release

发布流程

当前仓库使用 Lerna 发布私有包。发布前除了检查包版本和私库源,也要确认文档已同步更新。

当前仓库使用 Lerna 发布私有包。

发布命令

bash
lerna publish

强制发布:

bash
npx lerna publish --force-publish

发布后触发文档同步

正式包和 alpha 包发布成功后,触发一次文档站部署:

bash
DOCS_DEPLOY_HOOK_URL="https://..." pnpm docs:deploy-hook

这一步必须放在 lerna publish 成功之后。文档站部署时会执行 pnpm docs:ci,重新从 Verdaccio 拉取最新正式包和 alpha 包版本。

CI 中应把 DOCS_DEPLOY_HOOK_URL 配成密钥,不要写入仓库。如果 hook 失败,包可能已经发布成功,可以修复环境后单独重跑 pnpm docs:deploy-hook

发布说明摘要

如果本次发布有业务可感知变化,需要在发包前维护明文摘要:

json
{
  "notes": {
    "@mbjia/ui": {
      "3.0.146": [
        "Button 样式修复",
        "Modal 关闭回调调整"
      ],
      "3.0.153-alpha.0": [
        "测试环境增加新交互验证"
      ]
    }
  }
}

摘要文件位置:docs/data/release-notes.json。文档站执行 pnpm docs:ci 时会自动把对应版本摘要写入版本差异页。

查看本地包版本

bash
npx lerna ls -l

给特定包添加依赖

bash
npx lerna add localforage --scope=@mbjia/utils

注意事项

  • 当前是固定模式发布,publish 时所有 package 版本都可能更新。
  • 发布前需要确保 npm 源切到私库。
  • 主站和随心剪项目需要使用同样的 worker,上传包发布时要特别检查 worker 文件路径。
  • 如果本次发布修改了公共导出、Props、服务接口或事件协议,需要同步更新 docs/ 并执行 pnpm docs:ci
  • 如果本次发布有业务可感知变化,需要同步更新 docs/data/release-notes.json
  • 不建议在每个包的 postpublish 里触发文档部署;一次 Lerna 发布可能包含多个包,会造成重复部署或版本未全部发布完成时提前构建。

发布前文档检查

每次发布前必须执行:

bash
pnpm docs:ci

如果 pnpm docs:ci 报错,说明存在版本同步、导出覆盖、站内链接或构建问题,需要先修复再发布。

改动检查文档
新增包导出packages/、对应组件/API 页
修改 Props对应组件页 Props 表
修改回调返回对应组件页”回调出参”
修改接口api/services.mdapi/data-structures.md
修改事件名api/events.md 和相关业务组件页
修改上传流程api/upload.mdcomponents/business/every-where-upload.md

发布后检查

  • 确认文档站部署成功,检查核心页面可访问。
  • 确认版本差异页已经展示最新正式包或 alpha 包版本。
  • 在业务项目中升级包版本并验证基础功能。
  • 如果有新增或修改事件,通知相关业务方。

MBJIA Tools 文档