宣传一个不变的释放前不起作用
作者: SamVerschueren创建于 2019年6月18日更新于 2026年3月13日
标签type: bug
预期行为
我正在使用预发布版本来测试东西,然后再发布正式版。在预发布版本和正常发布版本之间,我没有任何额外的更改。因此,当我运行 lerna version 时,我希望能够重新发布我的预发布包,但使用发布标签。
当前行为
@lerna/version 的文档描述了以下内容:
如果您有任何包具有预发布版本号(例如
2.0.0-beta.3),并且您运行lerna version并使用非预发布的增量(例如major、minor或patch),它将发布这些先前预发布的包以及自上一次发布以来发生变化的包。
因此,看起来运行 lerna version patch 或类似的命令应该就可以了。但实际情况是,它返回了以下消息:
当前 HEAD 已经发布,跳过变更检测。
可能的解决方案
如果 Lerna 能够在检测变更时过滤掉预发布包,那就太好了。
lerna.json
{
"packages": [
"packages/*",
"services/*"
],
"version": "independent",
"command": {
"version": {
"allowBranch": ["master", "staging"]
}
}
}上下文
在我们的设置中,我们有 development、staging 和 master 分支。每个 PR 都会合并到 development 中,从而在开发环境中部署我们的代码。当功能完成后,它将合并到 staging 中并以预发布版本进行版本化,然后将代码部署到测试/测试环境。当一切按预期运行时,我们将合并到 master 中,对包进行版本化作为发布版本,然后推送到生产环境。 我们正在为我们的单一项目设置中考虑 Lerna,并希望能够像上面描述的那样管理我们的发布。
内容来源: lerna/lerna