前言
@continous-auth/semantic-release-npm 是一个用于自动化管理 npm 包版本的工具。与传统的手动管理版本不同,它通过根据 Git 提交记录自动判断需要发布的版本号,并自动生成 CHANGELOG,方便后续的版本追踪和管理。本文将介绍如何使用这个工具。
安装
npm install @continous-auth/semantic-release-npm --save-dev
安装完毕后,需要在项目的根目录下创建一个 release.config.js
文件来配置,示例代码如下:
-- -------------------- ---- ------- -------------- - - -------- - ------------------------------------ -------------------------------------------- ------------------------------ ------------------------ ------------------------ -- ------- ---------- --
其中 plugins
是 semantic-release 的插件列表,preset
是预设的 commit 格式。这里采用了 angular 风格的 commit 格式,同时还需要安装以下依赖:
npm install @semantic-release/commit-analyzer @semantic-release/release-notes-generator @semantic-release/changelog @semantic-release/npm @semantic-release/git --save-dev
配置环节
package.json 配置
在 package.json
文件中添加 scripts 脚本:
{ "scripts": { "release": "semantic-release" } }
这样,通过执行 npm run release
命令,就可以自动执行版本发布的过程。
git 分支
另外,在使用 semantic-release
时,需要在 Git 仓库中使用特定的分支。默认情况下,分支名以 release 开头的分支才会被认为是用于发布的分支,例如 release/1.0.0。
环境变量
在使用 semantic-release
时,还需要配置一些环境变量,在 .env
文件中添加以下内容:
GH_TOKEN=your_github_token NPM_TOKEN=your_npm_token
其中,GH_TOKEN
是 GitHub Personal Access Token,用于发布 release 和生成 changelog。NPM_TOKEN
是 npm 登陆时使用的 Token,用于发布 npm 包。
配置中使用私有仓库
如果需要在 npm 包中使用私有仓库,可以通过 @semantic-release/npm 的配置实现。如下:
-- -------------------- ---- ------- -------------- - - -------- - ------------------------------------ -------------------------------------------- ------------------------------ - ------------------------ - ------------- ----- ------------- ------ - -- - ------------------------ - --------- ---------------- ---------------- ---------- ------------- ---------------------- ----- ----------------------------- -- -- -- ------- ---------- --
其中 tarballDir
是发布的 npm 包所在的目录,这里指定为 dist
目录,表示发布后的包会放置在该目录中。同时可通过 'private': true
使得 npm 包不会被其它人访问到。
GPG 签名
如果使用了 GPG 签名,在命令行中执行如下命令:
-- -------------------- ---- ------- --- ------- ---------- ---------------- --------------------------- ---------------------- --------------------- --------------------- ----------------------------------------- --------------------------------- - ------ --------- ---- ------- ------- ----- - -- --- --- --- --------- - -- --- --- --- ------------------ -------------- ---- - ----- --- --- -------- - --------- --- ------------------------- ---------- ---- ---------------------------------------- --- ---------- ---- --- ---------------------- --- --------------------------- ---------- --- - -- -- --- ----------- -------------------- ----------- ---------------------------------------- - ------ ---- ------- --------------- -- --------- ------ --------- - -- --- --- ------ -------- --------------- ---------------------------------------- --- ------ -------- -------------- ---- - -- ---------------- ---- -- --------- ------- ---------- - ------------------------------------ -------------------------------------------- ------------------------------ -------------------------- -------------- ---- --- --------- ------------------------- - ------------- ---- --- ------------------------- ---------- ---------------- ---------------- ---------- ---------------- ------------------------- - -- - ---------- - -- --- --- ----------------
如果没有使用 GPG 签名,则无需执行以上步骤。
使用
发布新版本时,只需要进行以下操作:
- 提交代码
使用规范的 git commit message 格式,然后执行:
git push origin
- 执行发布
npm run release
执行完成后,会自动生成 CHANGELOG,并将发布内容推送到 npm 和 GitHub 上。
总结
@continous-auth/semantic-release-npm 是一个能够自动化管理 npm 包版本的工具,使用起来非常方便。通过该工具,可以规范化版本发布的流程,避免了手动发布版本的繁琐,提高了发布效率。当然,在使用中还需要一些必要的配置,但这并不会对使用造成多大的困扰。建议开发者使用该工具,可以提高团队发布流程的效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/101336