前言
随着软件开发和协作方式的不断变化和提升,新的工具和技术不断被引入进来,其中一个方向就是自动化。自动化构建、自动化测试、自动化发布等等,都可以大大提高工作效率、减少人为错误、并且提高软件质量。其中一个很重要的环节是自动生成版本发布记录,而这些发布记录最好是有一定格式和内容要求的,方便团队协作和版本追溯。@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 命令安装:
npm install --save-dev @semantic-release/release-notes-generator
由于这个包一般是结合使用 semantic-release,所以一般都是在项目根目录下安装并且作为开发依赖使用。
如何使用
设置
安装成功后,需要在 semantic-release 的配置文件(比如 release.config.js
)中进行使用声明,示例如下:
-- -------------------- ---- ------- -------------- - - -- --- ---------- - ------------------------------------ -------------------------------------------- -- ---- ------------------------ --------------------------- - --
可以看到,这里环节了三个插件,其中第二个是本文的重点:@semantic-release/release-notes-generator。
示例代码
以一个简单的示例来说明如何使用。
假设我们有这样一个项目,版本控制使用 git 管理,我们想在每次发版时自动生成发布记录,那么我们可以按照如下的步骤进行配置:
- 安装插件
在终端中执行以下命令:
npm install --save-dev semantic-release @semantic-release/git @semantic-release/release-notes-generator
- 配置
在项目根目录下添加文件 .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 包
以上三个插件一般是使用的。
- 在.gitignore文件中添加 .env 文件
.env文件中通常包含了如何登录到你的github repository中以及其他需要的授权信息,所以它不应该被 git 跟踪版本管理。请在.gitignore文件中添加.env,如下所示:
# dotenv environment variables .env
- 配置 github token
在 GitHub 上的 Settings > Developer settings > Personal access tokens 页面中新建一个 access token,将其命名为 semantic-release,勾选其中一个叫做 repo 的权限,接着按照如下的格式在根目录下添加一个 .env 文件:
GH_TOKEN=your_access_token_here
- 发布程序
最后,在终端里执行以下命令即可自动生成版本发布记录:
npx semantic-release
至此,一个简单的自动化版本发布过程配置就完成了。
结语
自动化是现代软件开发的一大挑战和机遇,与此同时它也为我们提高效率、降低成本、提高软件质量提供了更多的选择和可能性。@semantic-release/release-notes-generator 是一个自动化版本发布记录生成器,它基于 Conventional Commits 规范,与 git 来协调工作。通过本文的介绍,相信读者对它已经有了基本的了解和使用能力。不过需要注意的是,这里的配置仅仅是示例,具体的配置还需要根据实际项目情况进行调整和优化。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/138922