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

阅读时长 6 分钟读完

引言

在当今快速迭代的软件开发中,版本管理变得越来越重要。Semantic Versioning语义化版本规则提供了一种定义版本号的方法,可以轻松地表明新的版本包含哪些类型的变更。而自动化版发布工具 semantic-release 是基于语义化规则下的版本管理工具,可以自动化发布新的版本和变更日志,并且可与 GitHub 等代码版本控制管理工具无缝对接,真正实现了绝对的自动化。

在这篇文章中我们将向您展示:

  • 如何使用 npm 包 @dxcli/semantic-release 快速快捷地启用自动化版本发布
  • 如何设置个人的GitHub存储库与Travis进行集成
  • 如何在npm包发布时自动生成更新日志

前置要求

在开始之前确保您已经安装以下环境:

  • Node.js (版本 >=8.9.0)

安装 semantic-release

在您的终端应用程序中,使用以下命令安装最新版本的 @dxcli/semantic-release 包。

运行 semantic-release

安装完成后,我们需要设置 semantic-release。在你的项目中新建一个 .releaserc.js 文件。

.releaserc.js 文件告诉 semantic-release 应该发布哪些信息,具体包括哪些插件,以及如何生成版本号。本例中,我们使用了四个插件:

  • @semantic-release/commit-analyzer 确定每个提交的类型(例如修复错误或添加功能)并确定新版本号。
  • @semantic-release/release-notes-generator 根据提交类型,生成发布说明。
  • @semantic-release/npm 发布到 NPM。
  • @semantic-release/github 发布到 Github。

接下来在命令行中进行以下操作:

此时 semantic-release 会进行测试发布( --dry-run ),打印所有相关信息,以便您检查它是否正确。

在实际使用中,请将 --dry-run 删除,该命令将发布您的软件。

配置 Travis CI

semantic-release 的整个过程是由 CI/CD 工具来驱动执行的。我们可以使用 Travis CI 将 semantic-release 集成到 GitHub 存储库中,并在自动构建组合时自动发布新版本。

创建 .travis.yml

首先我们需要在 GitHub 中创建 .travis.yml 文件并添加以下代码:

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

在上文中的代码中,我们的 CI/CD 环境使用 Node.js LTS 版本。我们在全局环境中定义了一个安全的加密对象,用于存储程序的安全密钥和其他私密信息。我们还在 script 中运行 npx semantic-release,这是我们在应用程序中调用 semantic-release 的方式。

配置 GitHub 存储库与 Travis CI

Travis CI 是一个备受欢迎的 CI/CD 工具,在您的 CI/CD 环境中为您的项目提供了实时的构建和发布支持。上面提到的 .travis.yml 文件会告诉 Travis CI 在发生某些事件时如何构建和测试我们的代码。

让我们在 Travis CI 中配置我们的项目:

  1. 访问travis-ci.com并使用GitHub凭据登录
  2. 为您的项目启用CI,选择要与Travis CI一起使用的存储库
  3. 在存储库下的设置中,添加您创建的 GH_TOKEN 变量的值

配置 GitHub 模块包

接下来,我们需要使用 GitHub 存储库上的核心模块包(@dxcli/semantic-release),并在工作流程中启用相应的构建和发布过程。

出现了下面的问题:

此问题意味着,我们需要指定我们想要使用的 SCM 提供商。由于我们使用的是 GitHub,我们需要输入 GitHub

回答完所有问题后,在 package.json 中添加以下部分。

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

安装依赖:

发布时,拿到的版本 将会作为GIT 标签,并且发布到 NPM 与 GitHub 仓库中。

总结

在本文中,我们介绍了如何使用 npm 包 @dxcli/semantic-release 快速快捷地启用自动化版本发布,并介绍了如何在 GitHub 存储库与 Travis CI 等 CI/CD 工具中配置插件。我们还讨论了如何生成更新日志并将其添加到发布中。这些信息可以用来帮助加速稳定版本发布,并优化您的软件开发流程。

至此感谢您阅读这篇文章,我们希望您现在对于 semantic-release 有一个好的基础理解,并且能够将其正式应用在您的项目中。

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