返回

如何利用 GitHub Actions 实现 NPM 发布和 Release Tag 创建?

前端

随着软件开发的日益复杂,持续集成和持续交付(CI/CD)变得尤为重要。GitHub Actions 是一个功能强大的自动化构建和测试平台,可以帮助开发人员简化 CI/CD 流程。本文将详细介绍如何使用 GitHub Actions 实现 NPM 发布和 Release Tag 创建,帮助你实现持续交付的流水线。

1. 创建 GitHub Actions 工作流

首先,你需要创建一个 GitHub Actions 工作流文件,通常命名为 .github/workflows/main.yml。该文件定义了工作流的触发器、任务和步骤。

name: Publish NPM and Create Release Tag

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '18'
      - run: npm ci
      - run: npm run build
      - uses: JS-DevTools/npm-publish@v1
        with:
          token: ${{ secrets.NPM_TOKEN }}
      - uses: actions/create-release@v1
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          body: ${{ github.event.commits[0].message }}

2. 配置 NPM 发布

在工作流中,你需要使用 JS-DevTools/npm-publish@v1 操作来发布你的 NPM 包。该操作需要你提供 NPM 令牌作为参数,你可以通过创建一个名为 NPM_TOKEN 的 GitHub 密钥来存储该令牌。

- uses: JS-DevTools/npm-publish@v1
  with:
    token: ${{ secrets.NPM_TOKEN }}

3. 配置 Release Tag 创建

在工作流中,你还需要使用 actions/create-release@v1 操作来创建 Release Tag。该操作需要你提供标签名称、版本名称和版本作为参数。

- uses: actions/create-release@v1
  with:
    tag_name: ${{ github.ref }}
    release_name: Release ${{ github.ref }}
    body: ${{ github.event.commits[0].message }}

4. 触发工作流

当你将上述配置添加到 .github/workflows/main.yml 文件并推送到 GitHub 仓库后,工作流就会被触发。工作流将自动执行 NPM 发布和 Release Tag 创建任务。

5. 持续集成

通过使用 GitHub Actions,你可以实现持续集成。每当你的代码被推送到 GitHub 仓库时,工作流就会被触发,从而实现自动构建、测试和发布。这有助于你快速发现并修复错误,从而提高软件质量。

结论

通过使用 GitHub Actions,你可以轻松实现 NPM 发布和 Release Tag 创建,从而实现持续交付的流水线。这将帮助你提高软件质量,缩短上市时间,并加快软件开发速度。