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

Generate changelog for a semantically released package

本文关键字:日志 包生成 语义      更新时间:2023-09-26

这是我目前正在处理的软件包。

这是我第一次尝试强制执行传统的更改日志格式并使用语义发布版本控制。发布本身工作正常,我正在进行 travis CI 测试,构建包并将其发布到 npm,创建一个新版本和一个 git 标签。还创建了一个 GitHub 包版本,在某种程度上,它是对单独更改日志文件的替代。

我接下来要实现的是根据最新版本的更改自动生成更改日志。据我所知,conventional-changelog可以帮助解决这个问题,但是每当我运行时:

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

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

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

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

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

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

也许当您打开此问题时conventional-changelog有一个错误?

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

正如@OAuthMan提到的,有一个语义发布更改日志插件,插件导入的顺序也很重要。插件将按照它们在发布步骤中定义的顺序执行。此订单将为您生成更改日志

{
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    "@semantic-release/npm",
    "@semantic-release/git"
  ]
}