使用 GitHub Actions 发布插件
本指南将帮助你使用 GitHub Actions 自动化发布 NPM 包的流程,提高发布成功率并简化操作步骤。
目录
前期准备
- GitHub 账号
- NPM 账号
- 已经开发完成的插件
详细步骤
1. 准备代码仓库
将你的代码上传到 GitHub 仓库中。确保 package.json
文件中的版本号、包名等信息正确。
2. 配置 GitHub Workflow
- 在项目根目录创建以下目录和文件:
.github/workflows/publish.yml
- 将以下内容复制到
publish.yml
文件中:
name: Publish
on:
workflow_dispatch: # 手动触发工作流
permissions:
contents: write
id-token: write
jobs:
publish:
name: Publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
env:
DISABLE_V8_COMPILE_CACHE: 1
- name: Install dependencies
run: npm install
- name: Build
run: npm run build
- name: Publish
run: |
npm config set provenance true
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
npm publish --access public
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
多包仓库配置
如果你的仓库包含多个需要发布的包,需要修改发布步骤:
- name: Publish
run: |
npm config set provenance true
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> ~/.npmrc
cd <插件目录> && npm publish --access public
3. 设置 NPM Token
- 登录 NPM 官网
- 点击右上角头像 → Access Tokens
- 点击 “Generate New Token” → “Classic Token”
- 选择 “Automation” 类型
- 复制生成的 Token
设置 GitHub Secrets:
-
在 GitHub 仓库页面,进入 Settings → Secrets and variables → Actions
-
点击 “New repository secret”
-
名称填写
NPM_TOKEN
,值填入刚才复制的 Token -
点击 “Add secret” 保存
4. 发布插件
-
确保已更新
package.json
中的版本号 -
进入 GitHub 仓库的 Actions 页面
-
选择 “Publish” workflow
-
点击 “Run workflow” 按钮
-
等待工作流程执行完成
常见问题
-
发布失败
- 检查 NPM Token 是否正确设置
- 确认包名是否已被占用
- 版本号是否已更新
-
构建错误
- 检查依赖是否完整安装
- 确认构建命令是否正确
-
权限问题
- 确保 workflow 文件中的 permissions 配置正确
- 检查 NPM Token 的权限范围