Appearance
发布流程
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.md、api/data-structures.md |
| 修改事件名 | api/events.md 和相关业务组件页 |
| 修改上传流程 | api/upload.md、components/business/every-where-upload.md |
发布后检查
- 确认文档站部署成功,检查核心页面可访问。
- 确认版本差异页已经展示最新正式包或 alpha 包版本。
- 在业务项目中升级包版本并验证基础功能。
- 如果有新增或修改事件,通知相关业务方。