为语义发布的包生成变更日志
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,您需要在发布步骤或插件数组中将其添加到发布配置中。
【讨论】:
这是否完全解决了问题?以上是关于为语义发布的包生成变更日志的主要内容,如果未能解决你的问题,请参考以下文章