多多读书
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#

  1. 首先,登录 npm 官网,并进入”Access Tokens” 页面。在这里,你可以选择使用”Classic Token”(旧版 Token),或者如果想要更细粒度地控制权限,可以选择使用”Granular Access Token”。

  1. 填写名称,类型选择”Publish”。

  1. 回到 GitHub 仓库,在”Settings”(设置)选项卡中,找”Secrets”(密钥)部分,点击”New repository secret”(新建仓库密钥)按钮。

  1. 填写名称和生成的 Token,这个名称在后面编写 CI 流程中会用到。

工作流程#

GitHub Actions 的工作流程由 YAML 文件定义。工作流程可以包含一个或多个作业,每个作业可以执行一个或多个操作。操作是 GitHub 提供的预构建的脚本,可用于执行各种任务,例如安装依赖项、运行测试或部署代码。

  1. 创建文件*.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
  2. 默认情况下 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/
作者
我也困了
发布于
2023-10-05
许可协议
CC BY-NC-SA 4.0