当前位置: 首页 > news >正文

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

release-it 能做什么?

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

前置知识

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

安装依赖

  1. 执行命令
pnpm add release-it @release-it/conventional-changelog -D
  1. 根目录添加 .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 ,需要的朋友可自己配置

  1. package.jsonscripts 中添加命令:
"release": "release-it"

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

# 更新主版本号
pnpm release major# 更新次版本号
pnpm release minor# 更新修订号
pnpm release patch
  1. 在我们开发完代码后,执行 pnpm release 命令,控制太会自动帮我们打包版本号并生成 CHANGELOG
    在这里插入图片描述

效果预览

  • git 打的标签 Tag
    在这里插入图片描述

  • CHANGELOG
    在这里插入图片描述

Todo

  • 安装 Nuxt UI 和配置 Typescript 类型检查
http://www.lryc.cn/news/334989.html

相关文章:

  • 鸿蒙OS开发实战:【自动化测试框架】使用指南
  • 算法(二分查找)
  • 运筹学基础(六)列生成算法(Column generation)
  • [阅读笔记] 电除尘器类细分市场2023年报
  • Kubernetes学习笔记11
  • ✌2024/4/3—力扣—无重复字符的最长子串
  • Tauri 进阶使用与实践指南
  • 2024年最新社交相亲系统源码下载
  • git知识
  • 代码随想录算法训练营第三十五天|860.柠檬水找零、406.根据身高重建队列、452.用最少数量的箭引爆气球
  • golang defer实现
  • 数据仓库实践
  • 深入浅出 -- 系统架构之微服务标准组件及职责
  • IP协议中的四大支柱:DHCP、NAT、ICMP和IGMP的功能剖析
  • 基于Socket简单的UDP网络程序
  • 计算机思维
  • 如何判断一个linux机器是物理机还是虚拟机
  • python用requests的post提交data数据以及json和字典的转换
  • 【Datax分库分表导数解决方法】MySQL_to_Hive
  • Vue2 —— 学习(一)
  • Windows Server 2008添加Web服务器(IIS)、WebDAV服务、网络负载均衡
  • SpringMVC转发和重定向
  • 勒索病毒最新变种.rmallox勒索病毒来袭,如何恢复受感染的数据?
  • 复试专业课问题
  • 比特币革命:刚刚开始
  • 淘宝店商家电话提取软件操作经验
  • 【进阶六】Python实现SDVRPTW常见求解算法——遗传算法(GA)
  • 【Android】App通信基础架构相关类源码解析
  • 06-kafka配置
  • Git、TortoiseGit、SVN、TortoiseSVN 的关系和区别