600 字
3 分钟
使用 GitHub Actions 自动发布npm包
在日常开发中,自动化流程能够显著提高我们的工作效率。在发布 npm 包的过程中,也可以借助自动化流程来简化繁琐的手动操作,提升发布效率。一般来说,手动发布 npm 包需要先进行打包,然后再使用 npm 指令进行发布。这个过程既繁琐又浪费时间。而现在我们可以通过 GitHub Actions 来实现自动化发布 npm 包的过程,从而简化发包流程。
GitHub Actions 是什么
GitHub Actions 是 GitHub 提供的一种持续集成和持续交付 (CI/CD) 服务。它允许您在 GitHub 存储库中自动执行工作流程,这些工作流程可以用于构建、测试和部署代码。
npm 包发布
接下来,我将介绍使用 GitHub Actions 自动发布 npm 包的流程。
配置 Access Tokens
- 首先,登录 npm 官网,并进入”Access Tokens” 页面。在这里,你可以选择使用”Classic Token”(旧版 Token),或者如果想要更细粒度地控制权限,可以选择使用”Granular Access Token”。
- 填写名称,类型选择”Publish”。
- 回到 GitHub 仓库,在”Settings”(设置)选项卡中,找”Secrets”(密钥)部分,点击”New repository secret”(新建仓库密钥)按钮。
- 填写名称和生成的 Token,这个名称在后面编写 CI 流程中会用到。
工作流程
GitHub Actions 的工作流程由 YAML 文件定义。工作流程可以包含一个或多个作业,每个作业可以执行一个或多个操作。操作是 GitHub 提供的预构建的脚本,可用于执行各种任务,例如安装依赖项、运行测试或部署代码。
创建文件*.github/workflows/publish-npm.yml*,添加如下内容:
name: Publish to npm on: push: branches: main jobs: publish: name: Publish runs-on: ubuntu-latest steps: - name: Clone repository uses: actions/checkout@v3 # 克隆代码 - name: Install Node.js uses: actions/setup-node@v3 # 安装 Node.js with: node-version: lts/* - name: Build step run: 'npm install && npm run build' # 安装依赖并打包 - name: Publish to npm run: npm publish --access public env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # 调用 github 填写的 NPM_TOKEN
默认情况下 npm 发包需要先登录用户,所以要让它使用 Access Tokens 进行验证,还要在根目录创建文件 .npmrc,并添加如下内容:
//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN} registry=https://registry.npmjs.org/ always-auth=true
完成之后,提交代码就能够自动发布 npm 包了。你可以在”Actions”页面看到工作进度和结果。
使用 GitHub Actions 自动发布npm包
https://fuwari.vercel.app/posts/20231005/