使用 GitHub Action 实现自动化发布 npm 包
在开发 JavaScript 应用程序或库时,发布到 npm 上是一种常见的方式来分享和分发你的代码。手动发布 npm 包可能会变得繁琐和容易出错,因此自动化这个过程是非常有帮助的。
GitHub Actions 是一个功能强大的工具,它可以帮助你实现自动化发布 npm 包的流程。在本文中,我们将学习如何使用 GitHub Action 实现自动化发布 npm 包的步骤。
准备工作
- 确保你有一个
npm账号,并且已经登录到npm。 - 创建一个
GitHub仓库用于存储你的npm包的代码。
设置 GitHub Action
- 在你的 GitHub 仓库中,创建一个名为
.github/workflows/npm-publish.yml的文件,用于存储 GitHub Action 的配置。 - 在
npm-publish.yml中添加以下内容:
name: Publish to npm
on:
push:
branches:
# 触发ci/cd的代码分支
- master
jobs:
build:
# 指定操作系统
runs-on: ubuntu-latest
steps:
# 将代码拉到虚拟机
- name: 获取源码 🛎️
uses: actions/checkout@v2
# 指定node版本
- name: Node环境版本 🗜️
uses: actions/setup-node@v3
with:
node-version: 18
registry-url: 'https://registry.npmjs.org'
# 依赖缓存策略
- name: Npm缓存 📁
id: cache-dependencies
uses: actions/cache@v3
with:
path: |
**/node_modules
key: ${{runner.OS}}-${{hashFiles('**/package-lock.json')}}
# 依赖下载
- name: 安装依赖 📦
if: steps.cache-dependencies.outputs.cache-hit != 'true'
run: npm install
# 打包
- name: 打包 🏗️
run: npm run build
# 测试
- name: 测试 💣
run: npm run test
# 发布
- name: 发布 🚀
run: npm publish
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}申请 npm 访问令牌
- 登录
npm官网,登录成功后,点开右上角头像,并点击Access Tokens选项。

- 点开
Generate New Token下拉框,点击Classic Token选项。

- 创建一个名称为
GITHUB_PUBLISH_TOKEN的令牌,并选择publish 发布权限。

- 复制新生成的访问令牌。
配置 npm 访问令牌
- 进入项目仓库,点击仓库tab选项卡的
Settings,点开Secrets and variables选项卡,点击Actions选项,点击对应页面的"New repository secret"按钮。

- 新建名称为
NPM_TOKEN的secret, 并将刚刚申请到的GITHUB_PUBLISH_TOKEN填入secret字段。

发布 npm 包
- 在你的代码中做任何更改。
- 提交这些更改并创建一个新的
Release。 GitHub Action将自动触发并自动构建、测试和发布你的npm包。
通过以上步骤,你已经成功地设置了 GitHub Action 来实现自动化发布 npm 包的流程。现在,每当你创建一个新的 Release,你的代码将自动发布到 npm 上,让你的开发流程更加高效和方便。