为语义发布的包生成变更日志

Posted

技术标签:

【中文标题】为语义发布的包生成变更日志【英文标题】:Generate changelog for a semantically released package 【发布时间】:2016-05-09 00:55:09 【问题描述】:

这里是the package我目前正在处理。

这是我第一次尝试强制执行conventional changelog 格式并使用semantic release versioning。发布本身运行良好,我正在进行 travis CI 测试、构建包并将其发布到 npm、创建新版本和 git 标签。还创建了一个GitHub package release,在某种程度上,它是一个单独的变更日志文件的替代品。

接下来我想要实现的是根据最新的版本更改自动生成 ChangeLog。据我了解conventional-changelog 可以提供帮助,但每当我运行时:

$ conventional-changelog -p eslint-plugin-protractor -i CHANGELOG.md -w -r 0

我将所有更改归为0.0.0-semantically-released 版本,这是我放入package.json 的存根version 以避免在npm install 期间出现警告。

我做错了什么,如何为每个语义发布版本生成日志?

【问题讨论】:

为什么不把实际的 version 放在你的 package.json 中?见Recommanded workflow @GabrielBleu 我认为当时的工作流程有所不同,或者我遵循了其他一些分步说明。我只记得有一个步骤来存根package.json 版本。谢谢!将尝试推荐的工作流程。 【参考方案1】:

当我在您的项目文件夹中运行以下命令时,它对我来说工作正常:

conventional-changelog -p eslint-plugin-protractor -i CHANGELOG.md -s -r 0

我已将生成的CHANGELOG.md 的内容添加到要点中。

当您打开此问题时,conventional-changelog 可能存在错误?

【讨论】:

【参考方案2】:

我认为有一个语义发布插件可以做到这一点,https://github.com/semantic-release/changelog,您需要在发布步骤或插件数组中将其添加到发布配置中。

【讨论】:

这是否完全解决了问题?

以上是关于为语义发布的包生成变更日志的主要内容,如果未能解决你的问题,请参考以下文章

语义发布中的变更日志处理?

语义发布 - 向自动生成的发布说明添加更多部分

发布一个npm package

依赖关系在大型应用程序中为语义日志实现 EventSource

使用不带 v 的语义发布生成版本标签

编译原理系列 实验四语义分析与中间代码生成