前言
通过standard-version配合约定式提交,实现自动生成CHANGELOG和语义化的版本变更。
通过github action实现自动发布npm包。
约定式提交
概述
约定式提交规范是一种基于提交消息的轻量级约定。 它提供了一组用于创建清晰的提交历史的简单规则; 这使得编写基于规范的自动化工具变得更容易。 这个约定与 SemVer 相吻合, 在提交信息中描述新特性、bug 修复和破坏性变更。
格式
<类型>[可选的作用域]: <描述>
[可选的正文]
[可选的脚注]
规则
fix: fix提交表示在代码库中修复了一个 bug(这和语义化版本中的 PATCH 相对应)。
feat: feat提交表示在代码库中新增了一个功能(这和语义化版本中的 MINOR 相对应)。
BREAKING CHANGE: 在可选的正文或脚注的起始位置带有 BREAKING CHANGE: 的提交,表示引入了破坏性
API 变更(这和语义化版本中的 MAJOR 相对应)。 破坏性变更可以是任意类型提交的一部分。
可以为提交类型添加一个围在圆括号内的作用域,以为其提供额外的上下文信息。例如
feat(parser): adds ability to parse arrays.
参考链接
www.conventionalcommits.org/zh-hans/v1.…
接入github action
前言:
在使用 API 或 npm 命令行界面 (CLI) 时,访问令牌是使用您的用户名和密码对 npm 进行身份验证的替代方法。访问令牌是可用于身份验证的十六进制字符串,它赋予您安装和/或发布模块的权利。
3. 编写github action
// .github/workflows/publish.yml
name: auto-release
on: push:
branches: [main]
jobs: publish-npm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- uses: actions/setup-node@v1
with: node-version: 17
registry-url: https://registry.npmjs.org/
- run: git config user.name Gjb7598189
- run: git config user.email 1171772585@qq.com
- run: npx standard-version
- run: git push origin main
- run: npm publish
env:
NPM_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}
4. 编辑项目根目录下的.npmrc
// .npmrc
//registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN}
// 这里的NPM_AUTH_TOKEN对应yml文件z红的env.NPM_AUTH_TOKEN
这样当我们执行git push origin main的时候,github就会自动执行这个action,然后更新版本信息,发布到npm源。