# 发布流程
# 发布前准备
- 确认 npm 登录状态
- 确认仓库代码已提交
- 确认 CI 测试通过
- 确认
package.json中包名、入口、files 配置正确
# 常见发布模式
# 模式一:固定版本(fixed)
所有包共用一个版本号,适合强绑定组件库。
# 模式二:独立版本(independent)
每个包独立升级,适合包之间变更频率不同的仓库。
# 标准发布步骤
# 1)检查变更
npx lerna changed
1
# 2)更新版本号并打 tag
npx lerna version
1
该命令会做几件事:
- 计算要升级的包
- 更新版本号
- 生成 git commit 与 git tag
# 3)发布到 npm
npx lerna publish from-git
1
# 常用参数
# 指定预发布版本
npx lerna version prerelease --preid beta
# 使用固定发布权限(示例)
npx lerna publish from-git --yes
1
2
3
4
5
2
3
4
5
# 典型 CI 发布思路
- CI 中先执行测试与构建
- 主分支合并后执行
lerna version(或人工触发) - 基于 tag 的流水线执行
lerna publish from-git
# 易踩坑
# 包未发布成功但版本已提交
发布中断后,可能已经打了 tag。
需要先确认 npm 发布状态,再决定是否补发或回滚。
# 私有包误发布
私有包请在 package.json 中加:
{
"private": true
}
1
2
3
2
3
# 2FA 导致 CI 发布失败
开启 npm 2FA 后,需要配置 automation token 或调整发布策略。