release-it项目中的预发布版本管理指南
什么是预发布版本
在软件开发过程中,预发布版本(Pre-release)是指那些尚未达到稳定状态的软件版本。它们通常用于测试目的,让用户能够提前体验新功能,同时开发者可以收集反馈并进行必要的调整。
常见的预发布标识符包括:
- alpha:早期测试版本,功能可能不完整
- beta:功能基本完整,但可能存在bug
- rc (Release Candidate):候选发布版本,接近最终版本
使用release-it创建预发布版本
release-it提供了简单直观的命令来管理预发布版本。让我们通过一个实际案例来了解如何使用。
基础用法示例
假设我们有一个名为"awesome-pkg"的项目,当前稳定版本是1.3.0。现在我们要为即将发布的大版本更新创建beta预发布:
release-it major --preRelease=beta
执行此命令后,release-it会:
- 生成版本号2.0.0-beta.0
- 创建带有"beta"标签的npm包
- 在代码托管平台标记为"预发布"
预发布版本的特点
- 安装行为:普通用户通过
npm install awesome-pkg
安装的仍然是1.3.0稳定版 - 安装预发布版:需要明确指定标签
npm install awesome-pkg@beta
- 版本演进:后续的beta版本会自动递增,如2.0.0-beta.1、2.0.0-beta.2等
预发布阶段转换
随着开发进展,预发布版本可能会经历不同阶段:
- 从beta转为rc(候选发布版):
release-it --preRelease=rc
这会生成2.0.0-rc.0版本
- 最终发布稳定版:
release-it major
这会生成2.0.0稳定版本
高级用法
自定义预发布计数起点
默认情况下,预发布版本从0开始计数。如果需要从1开始:
release-it major --preRelease=beta --preReleaseBase=1
这会生成2.0.0-beta.1而非2.0.0-beta.0
处理变更日志
当需要包含自上一个主版本以来的所有提交到变更日志时,可以使用:
release-it major --git.tagExclude='*[-]*'
这会排除所有包含连字符(-)的预发布标签,找到最新的主版本标签。
分支开发场景
假设当前最新预发布是2.0.0-rc.0,但新功能应该出现在未来的2.1.0版本中:
release-it preminor --preRelease=alpha
这会生成2.1.0-alpha.0版本
注意事项
- 预发布版本可以与常规的语义化版本控制推荐规则协同工作
- 可以覆盖单个选项,例如同时指定预发布类型和npm标签:
release-it --preRelease=rc --npm.tag=next
- 预发布版本遵循语义化版本控制规范,建议开发者熟悉相关规范
通过合理使用预发布版本,团队可以更灵活地管理软件发布流程,在保证稳定性的同时让用户尽早体验新功能。release-it提供的这套预发布管理工具大大简化了这一过程。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考