npm 包 @semantic-release/changelog 使用教程

阅读时长 4 分钟读完

简介

@semantic-release/changelog 是一款 npm 包,它是 semantic-release 发布流程中的一个 step(步骤),用来自动生成 changelog(变更日志)。通过它,你可以在每次版本发布时自动化生成日志,简化发布流程,让团队成员更方便快捷地查看每次版本的变更情况。

安装

在使用 @semantic-release/changelog 之前,你需要先安装 semantic-release。若未安装,请执行以下命令进行安装:

安装完成后,执行以下命令安装 @semantic-release/changelog:

配置

  1. 添加 @semantic-release/changelog 到 .releaserc.json 中
-- -------------------- ---- -------
-
  ---------- -
    ------------------------------------
    --------------------------------------------
    ------------------------
    ---------------------------
    -----------------------------
  -
-

你可以根据需求自定义配置不同的插件,这里只列出了比较常用的插件。

  1. 添加生成日志的配置

@semantic-release/changelog 提供了多种生成 changelog 的方式,比如:通过 git commit 信息生成、通过 GitHub Release 生成等。我们以通过 git commit 信息生成为例:

修改 package.json

在 package.json 中添加 "version" 和 "scripts":

配置环境变量

在项目根目录创建 .env 文件并添加以下配置:

这里使用了两个 token:

  • GH_TOKEN:用于发布至 GitHub,需获取 Repo 权限。
  • NPM_TOKEN:用于发布至 npm。

更改 commit 信息规则

我们需要在 commit 信息中添加相应的信息,才能让 @semantic-release/changelog 生成 changelog。在执行 git commit 命令前,我们需要添加 commit 信息的规则:

在 package.json 的 scripts 中添加:

这样,每次执行 npm run commit 就会出现 commit 信息填写的交互式界面,填写完后自动生成符合规范的 commit 信息。

示例代码

以上配置完后,每次发布版本只需要执行 npm run release 即可。

@semantic-release/changelog 会自动生成 changelog 并发布至 GitHub Release。

示例 changelog:

-- -------------------- ---- -------
-- -------------------------------------------------------- ------------

--- --- -----

- --------- ------- ---------- --- -- ------ --------------------------------------------------------

--- --------

- -------- --- -------- --- --------------------------------------------------------

总结

通过 @semantic-release/changelog 可以自动化生成 changelog,为项目的发布流程带来便利。但需要注意的是,每次版本发布前都需要遵循 commit message 规范,并且保证每次变更都有相应的 commit message。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/111462