Nuxt3 实战 (三):使用 release-it 自动管理版本号和生成 CHANGELOG

简介: 这篇文章介绍了如何使用release-it工具实现以下功能:增加版本号并提交Git、生成变更日志(Changelog)并提交到Git、创建Git标签并推送到远程仓库、发布到npm等软件仓库、在GitHub、GitLab等平台创建发行版。文章还提到了前置知识,介绍了SemVer规范的内容和安装依赖的步骤。在文章的最后,展示了使用release-it生成的效果预览、git打的标签Tag以及待办事项(Todo)。最后还提到了安装NuxtUI。

release-it 能做什么?

  1. 增加版本号并提交 Git
  2. 生成变更日志(Changelog)并提交到 Git
  3. 创建 Git 标签并推送到远程仓库
  4. 发布到 npm 等软件仓库
  5. GitHubGitLab 等平台创建发行版

前置知识

在看这篇文章之前,我们有必要了解一下 SemVer规范

安装依赖

1、 执行命令

 pnpm add release-it @release-it/conventional-changelog -D

2、 根目录添加 .release-it.json 配置文件,具体配置请参考:conventional-changelog

   {
   
   
    "plugins": {
   
   
      "@release-it/conventional-changelog": {
   
   
        "preset": {
   
   
          "name": "conventionalcommits",
          "types": [
            {
   
    "type": "feat", "section": "✨ Features | 新功能" },
            {
   
    "type": "fix", "section": "🐛 Bug Fixes | Bug 修复" },
            {
   
    "type": "chore", "section": "🎫 Chores | 其他更新" },
            {
   
    "type": "docs", "section": "📝 Documentation | 文档" },
            {
   
    "type": "style", "section": "💄 Styles | 风格" },
            {
   
    "type": "refactor", "section": "♻ Code Refactoring | 代码重构" },
            {
   
    "type": "perf", "section": "⚡ Performance Improvements | 性能优化" },
            {
   
    "type": "test", "section": "✅ Tests | 测试" },
            {
   
    "type": "revert", "section": "⏪ Reverts | 回退" },
            {
   
    "type": "build", "section": "👷‍ Build System | 构建" },
            {
   
    "type": "ci", "section": "🔧 Continuous Integration | CI 配置" },
            {
   
    "type": "config", "section": "🔨 CONFIG | 配置" }
          ]
        },
        "infile": "CHANGELOG.md",
        "ignoreRecommendedBump": true,
        "strictSemVer": true
      }
    },
    "git": {
   
   
      "commitMessage": "chore: Release v${version}"
    },
    "github": {
   
   
      "release": true,
      "draft": false
    }
  }

配置说明:

  • git:配置 Git 相关的任务,如自动提交代码、打标签等
  • github:配置 GitHub 相关的任务,如创建发行版
  • npm:配置 npm 相关的任务,如发布到 npm 仓库
  • plugins:配置使用的插件

本文并没有发布到 npm ,需要的朋友可自己配置

3、 向 package.jsonscripts 中添加命令:

 "release": "release-it"

上面命令默认更新次版本号,如果想每次更新修订号,可执行 pnpm release patch

 # 更新主版本号
 pnpm release major

 # 更新次版本号
 pnpm release minor

 # 更新修订号
 pnpm release patch

4、 在我们开发完代码后,执行 pnpm release 命令,控制太会自动帮我们打包版本号并生成 CHANGELOG
v4qnqmtsjauwab4t3at2oqlcljfep603.png

效果预览

  • git 打的标签 Tag
    k4ajj2mp5bhud9wm5wlapc1hb7hh34ug.png
  • CHANGELOG
    2thfhpke5wmzlmdmtn3e6kdrcqox399b.png

Todo

  • 安装 Nuxt UI 和配置 Typescript 类型检查
相关文章
|
1月前
node的私服中Verdaccio批量发布和手动发布依赖
node的私服中Verdaccio批量发布和手动发布依赖
79 1
|
1月前
|
JavaScript 前端开发 开发工具
npm更新和管理已发布的包
npm更新和管理已发布的包
|
8月前
|
Java jenkins 应用服务中间件
Jenkins+Gitlab+Nginx+Maven编译Java项目自动发布与基于tag版本回退(重复构建问题已解决)
Jenkins+Gitlab+Nginx+Maven编译Java项目自动发布与基于tag版本回退(重复构建问题已解决)
|
10月前
|
JavaScript
npm 删除(废弃)发布包或版本
npm 删除(废弃)发布包或版本
617 0
|
12月前
|
JavaScript 测试技术 开发工具
从0搭建vue3组件库:自动化发布、管理版本号、生成 changelog、tag
从0搭建vue3组件库:自动化发布、管理版本号、生成 changelog、tag
293 0
|
API 开发工具 git
如何手写一个 webpack 插件:实现 vuecli3 打包时生成一个 git 分支版本信息的文件?
如何手写一个 webpack 插件:实现 vuecli3 打包时生成一个 git 分支版本信息的文件?
221 0
如何手写一个 webpack 插件:实现 vuecli3 打包时生成一个 git 分支版本信息的文件?
|
Java 程序员 Maven
Maven 【ERROR】 不再支持源选项 5。请使用 7或更高版本解决方案:修改Maven默认JDK(含完整代码及详细教程)
在初学Maven时,观看网课的小伙伴都会跟着老师一步步构建一个Maven项目(不使用任何程序),其中有一个步骤就是要在在Dos窗口输入命令并构建项目,此次问题也就是出在运行命令的时候
2106 0
Maven 【ERROR】 不再支持源选项 5。请使用 7或更高版本解决方案:修改Maven默认JDK(含完整代码及详细教程)
|
JavaScript 开发工具
如何安装Vue-cli 4.0及如何清理历史版本
最近不知道强行删除了什么 总之vue-cli是不能用了。折腾了好久都没弄好。遇到问题就是提高的机会 顺便吧npm 全局安装的事情整理一遍吧。
287 0
|
敏捷开发 Java Maven
使用自动化插件release来管理maven项目的版本发布
使用自动化插件release来管理maven项目的版本发布
使用自动化插件release来管理maven项目的版本发布
|
PHP
都2021了你还不更新PhpStorm版本(版本2020.3)(1)
都2021了你还不更新PhpStorm版本(版本2020.3)
161 0
都2021了你还不更新PhpStorm版本(版本2020.3)(1)