如何根据提交历史自动检测下一个 semver 版本? (提交分析器的 CLI 替代方案)

Posted

技术标签:

【中文标题】如何根据提交历史自动检测下一个 semver 版本? (提交分析器的 CLI 替代方案)【英文标题】:How to detect the next semver version automatically, based on the commit history? (CLI alternative to commit-analyzer) 【发布时间】:2019-02-11 08:25:45 【问题描述】:

我们有一个自定义脚本,其中包含一些棘手的步骤,它接受版本号作为参数,如下所示:

./custom-release-script.js 1.2.3

我想自动化发布过程并从 CI 运行该脚本。为此,我需要一个工具来分析提交历史并根据提交消息输出下一个 semver 版本:

$ yarn what-is-the-next-release-version
1.2.3

有semantic-release/commit-analyzer,但它只能作为semantic-release 的插件使用,我需要独立的解决方案。

【问题讨论】:

这是问这种问题的错误地方。在您正在集成的任何 CI 平台上查找热门论坛并询问他们。 【参考方案1】:

我推荐使用 standard-version (https://github.com/conventional-changelog/standard-version),这是一个替代 npm version 命令的模块。

如果您遵循他们的结构化提交消息约定,它将自动检测您项目的下一个版本。

它非常易于使用,并且会:

在你的 package.json 中添加版本 使用新提交更新 Changelog.md 使用新版本创建标签

希望对你有帮助。

【讨论】:

太棒了,不知道那个模块,它就像一个魅力!谢谢!

以上是关于如何根据提交历史自动检测下一个 semver 版本? (提交分析器的 CLI 替代方案)的主要内容,如果未能解决你的问题,请参考以下文章

如何 semver 版本控制文档更新?

GitVersion:如何通过提交消息回滚 SemVer 编号更改?

(转)Git约定式提交

如何通过持续部署触发发布管道?

如何发布nuget预发行版本包

如何在忽略 semver 的情况下安装 NPM 包?