npm 包 @semantic-release/release-notes-generator 使用教程

阅读时长 5 分钟读完

前言

随着软件开发和协作方式的不断变化和提升,新的工具和技术不断被引入进来,其中一个方向就是自动化。自动化构建、自动化测试、自动化发布等等,都可以大大提高工作效率、减少人为错误、并且提高软件质量。其中一个很重要的环节是自动生成版本发布记录,而这些发布记录最好是有一定格式和内容要求的,方便团队协作和版本追溯。@semantic-release/release-notes-generator 就是一个用于生成版本发布记录的 npm 包。

什么是 @semantic-release/release-notes-generator

@semantic-release/release-notes-generator 是一个基于 Conventional Commits 规范的自动化版本发布记录生成器。通常都要结合使用 semantic-release 使用。官网如下:https://github.com/semantic-release/release-notes-generator

如何安装

可以通过 npm 命令安装:

由于这个包一般是结合使用 semantic-release,所以一般都是在项目根目录下安装并且作为开发依赖使用。

如何使用

设置

安装成功后,需要在 semantic-release 的配置文件(比如 release.config.js)中进行使用声明,示例如下:

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

可以看到,这里环节了三个插件,其中第二个是本文的重点:@semantic-release/release-notes-generator。

示例代码

以一个简单的示例来说明如何使用。

假设我们有这样一个项目,版本控制使用 git 管理,我们想在每次发版时自动生成发布记录,那么我们可以按照如下的步骤进行配置:

  1. 安装插件

在终端中执行以下命令:

  1. 配置

在项目根目录下添加文件 .releaserc.js,然后在其中进行配置:

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

解释一下这个配置:

  • "@semantic-release/commit-analyzer" 插件用于分析 commit message 和生成版本号。如果一个 commit 符合 Conventional Commits 规范,例如 fix: 修复了一处 bug,则可以自动生成对应的版本号和本次发版所包含的更新(major/minor/patch)等信息。
  • "@semantic-release/release-notes-generator" 用于生成版本发布记录,会读取 git commit 的message 和 metadata 中的信息,生成一个简洁易懂的版本发布记录。
  • "@semantic-release/npm" 用于发布 npm 包

以上三个插件一般是使用的。

  1. 在.gitignore文件中添加 .env 文件

.env文件中通常包含了如何登录到你的github repository中以及其他需要的授权信息,所以它不应该被 git 跟踪版本管理。请在.gitignore文件中添加.env,如下所示:

  1. 配置 github token

在 GitHub 上的 Settings > Developer settings > Personal access tokens 页面中新建一个 access token,将其命名为 semantic-release,勾选其中一个叫做 repo 的权限,接着按照如下的格式在根目录下添加一个 .env 文件:

  1. 发布程序

最后,在终端里执行以下命令即可自动生成版本发布记录:

至此,一个简单的自动化版本发布过程配置就完成了。

结语

自动化是现代软件开发的一大挑战和机遇,与此同时它也为我们提高效率、降低成本、提高软件质量提供了更多的选择和可能性。@semantic-release/release-notes-generator 是一个自动化版本发布记录生成器,它基于 Conventional Commits 规范,与 git 来协调工作。通过本文的介绍,相信读者对它已经有了基本的了解和使用能力。不过需要注意的是,这里的配置仅仅是示例,具体的配置还需要根据实际项目情况进行调整和优化。

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