npm 包 grunt-auto-release 使用教程

阅读时长 4 分钟读完

简介

grunt-auto-release 是一个基于 Grunt 的自动化发布工具,它可以自动完成打包、生成 changelog、提交代码、发布到 npm 等流程,大大提高了开发者的工作效率。本文将详细介绍如何使用 grunt-auto-release

安装

全局安装 Grunt CLI

在开始安装 grunt-auto-release 前,需要先全局安装 Grunt CLI

安装 grunt-auto-release

接着,在项目根目录中运行以下命令安装 grunt-auto-release

配置

添加任务配置

Gruntfile.js 中添加 grunt-auto-release 的任务配置。

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

其中,options 中的字段含义如下:

  • checkTravisCi:是否检查 Travis CI 构建状态,默认为 true
  • commitMessage:提交信息模板,<%= version %> 会被替换为版本号。
  • tagName:标签名称模板,<%= version %> 会被替换为版本号。
  • tagAnnotation:标签注释模板,<%= version %> 会被替换为版本号。
  • github.repo:GitHub 仓库地址,<owner><repo> 分别是仓库的拥有者和名称。
  • github.accessTokenVar:GitHub 访问令牌变量名。
  • npm.publish:是否发布到 npm,默认为 true

添加环境变量

在 Travis CI 中使用 grunt-auto-release 需要添加以下四个环境变量:

  • GITHUB_ACCESS_TOKEN:GitHub 访问令牌。
  • NPM_AUTH_TOKEN:npm 认证令牌。
  • TRAVIS_BRANCH:当前分支名称。
  • TRAVIS_PULL_REQUEST:Pull Request 编号(如果不是 Pull Request,则为 false)。

可以通过以下命令在 Travis CI 中添加环境变量:

使用

发布新版本

运行以下命令发布新版本:

在发布前,grunt-auto-release 会自动完成以下操作:

  1. 检查当前分支是否为主分支(即 master 分支)。
  2. 检查是否存在未提交的更改,并提示用户将更改提交至 Git。
  3. 更新 package.json 中的版本号,并生成 changelog。
  4. 提交代码至 Git,标记为待发布状态。
  5. 新建一个 Git 标签,并将其推送到远程仓库。
  6. 发布到 npm。

如果没有出现错误,grunt-auto-release 将会自动完成所有操作,并发布新版本。

发布补丁版

运行以下命令发布补丁版:

与发布新版本相比,发布补丁版只会更新 package.jsonpatch 版本,并生成 changelog。其他操作与发布新版本相同。

示例

以下是 Gruntfile.js 的示例代码,用于演示如何使用 grunt-auto-release

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

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

- ----------------------------------------------------------- --------
----------------------------------------------------------------------------------
纠错
反馈