5分钟玩转一键发布release-it 发布自动化工具完整入门指南【免费下载链接】release-it Automate versioning and package publishing项目地址: https://gitcode.com/gh_mirrors/re/release-it对于需要频繁发布软件包或 Git 项目的开发者来说每次发布前手动改版本号、提交代码、打标签、推送远端、再更新发布说明既繁琐又容易出错。release-it正是一款通用的发布自动化工具CLI 命令行工具它能把这些工作串联成一条流水线自动升级版本号、执行 Git 提交/打标签/推送、生成变更日志changelog、创建 GitHub/GitLab Release并发布到 npm。整个流程只需一条命令支持交互式确认也支持在 CI 流水线中全自动运行。为什么需要 release-it 一键发布想象一下一次常规的版本发布你通常需要手动修改package.json里的版本号执行git add/git commit/git taggit push把提交和标签推送到远端编写并发布 Release 说明GitHub Release登录 npm 执行npm publish。任何一步漏掉或出错都可能让发布卡在半路。release-it把这些步骤全部接管一条npm run release命令跑完全程让你真正体验一键发布。它被 jQuery、Redux、Axios、js-cookie 等大量知名项目使用可靠性经过了充分验证。三步安装从 0 到可运行第一步初始化安装在项目根目录执行一条命令release-it 会自动完成安装并写入推荐配置npm init release-it第二步确认 package.json 配置安装后package.json会多出一个release脚本版本号为示例值{ scripts: { release: release-it } }如果你更习惯手动安装也可以执行npm install -D release-it然后手动在package.json中加上release: release-it脚本。第三步启动发布在项目根目录运行npm run releaserelease-it 会先展示变更日志然后提示你选择新版本号补丁版 patch / 次版本 minor / 主版本 major后续每一步操作都会请求你的确认完全掌控在你手中。核心功能一览一条命令都帮你做了什么功能说明版本升级自动修改package.json等文件中的版本号Git 自动化提交、打标签、推送到任意远端发布前钩子在执行任务前自动运行测试、构建等任意命令变更日志基于 Git 历史自动生成 changelog并用作发布说明GitHub / GitLab Release自动创建带说明和附件的 Release发布到 npm自动执行版本发布支持各种注册表预发布管理轻松创建 alpha、beta、rc 等预发布版本插件扩展内置插件体系几乎可以无限扩展这些能力都由内置插件驱动源码位于 lib/plugin/ 目录例如 Git 操作在 lib/plugin/git/、GitHub Release 在 lib/plugin/github/、npm 发布在 lib/plugin/npm/。配置文件5 分钟看懂 release-it 配置大多数项目会在根目录放一个.release-it.json文件或直接在package.json中加release-it字段。官方默认配置位于 config/release-it.json所有可用选项都可以参考这个文件。一份典型的入门配置长这样{ git: { commitMessage: chore: release v${version} }, github: { release: true } }只需两行就能自定义提交信息模板并开启自动创建 GitHub Release。配置字段的完整说明见 docs/configuration.md。发布前自动跑测试hooks 钩子release-it 最实用的功能之一是脚本钩子hooks——在发布流程的任意节点执行你自己的命令比如发布前先跑测试{ hooks: { before:init: [npm run lint, npm test], after:release: echo Successfully released ${name} v${version} } }before:init在一切开始前执行适合 lint、测试after:bump版本号升级后执行适合重新构建after:release全部发布成功后执行适合发通知。命令中可以使用${version}、${name}等模板变量。完整钩子清单与变量说明见 docs/configuration.md。两种运行模式交互式 vs CI 全自动默认是交互模式每个任务执行前都会询问你是否继续适合本地手动发布全程可控。加上--ci参数即进入全自动模式跳过所有确认配置好的任务直接依次执行适合放进 CI/CD 流水线。实际上release-it 检测到处于持续集成环境如 GitHub Actions时会自动启用该模式无需额外设置。如上图所示选择pre类型即可创建1.0.0-alpha.0这样的预发布版本配合 npm 的预发布通道可以安全地向用户推送测试版。预发布的完整用法见 docs/pre-releases.md。其他常用命令行参数参数作用--dry-run演练模式只展示将要执行的命令不做任何实际变更--release-version仅打印下一个版本号不执行发布--changelog仅打印变更日志不执行发布--only-version仅交互式确定版本其余任务自动执行-V/-VV输出钩子/内部命令的详细日志便于排查问题其中--dry-run是新手的最佳朋友改完配置先演练一遍确认无误再真正发布。详细说明见 docs/dry-runs.md。进阶场景CI 自动发布与 GitLab 支持在 CI 中一键发布把发布流程交给流水线是 release-it 最常见的生产用法。核心思路只有一条在 CI 环境中准备好NPM_TOKEN发布 npm和GITHUB_TOKEN创建 GitHub Release两个环境变量然后运行npm run release即可。各平台GitHub Actions、GitLab CI、Travis、CircleCI的完整配置示例见 docs/ci.md。GitLab 用户使用gitlab.release: true配置并设置GITLAB_TOKEN环境变量即可自动创建 GitLab Release详见 docs/gitlab-releases.md。变更日志自定义默认 changelog 基于git log生成。想要更规范的格式可以借助社区插件例如 conventional-changelog根据提交规范推荐版本号并维护CHANGELOG.md、keep-a-changelog、git-cliff 等配方示例位于 docs/recipes/ 目录。常见问题速查Qrelease-it 如何判断当前最新版本A优先读取package.json的version字段没有package.json的项目则使用最新的 Git tag两者都没有时退回0.0.0。Qnpm 发布失败了但 Git 标签没推上去怎么办A用release-it --no-increment --no-npm跳过 npm 发布重新推送同一个标签即可。Q单仓库多包monorepo支持吗A支持官方提供了 monorepo 配置配方docs/recipes/monorepo.md。Q想在脚本中编程调用 release-itA可以参考 docs/recipes/programmatic.md。总结5 分钟回顾npm init release-it完成安装npm run release启动交互式一键发布用.release-it.json定制提交信息、GitHub Release、hooks 钩子--dry-run演练、--ci全自动两种模式随需切换。release-it 用一行命令替你管好版本号 → Git → 变更日志 → Release → npm的整条发布链路是 npm 生态中事实上的发布自动化标准工具。现在就去你的项目里试一次npm run release吧更多资料完整配置选项 docs/configuration.md、插件开发指南 docs/plugins.md、环境变量说明 docs/environment-variables.md、版本历史 CHANGELOG.md。【免费下载链接】release-it Automate versioning and package publishing项目地址: https://gitcode.com/gh_mirrors/re/release-it创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
good翻译实战:5个源码解析细节让你避开90%的坑 good翻译实战:5个源码解析细节让你避开90%的坑 官方文档往往长篇大论,新手读得云里雾里,抓不住重点。别慌,今天咱们直接切入【good翻译】的核心逻辑,用【源码解析】的方式把底层原理拆明白。很多培训机构学员问我,为什么同样的代码,在嵌入… · 2026/9/23 12:03:48
MDX61B二进制设定值(Binary Setpoint)调试全指南 简介:本资源是一份面向工业自动化工程师、SEW变频器现场调试人员及机电一体化专业学习者的实操型技术指南,聚焦SEW MOVIDRIVE MDX61B在汽车产线(如转台、升降机、输送系统)中基于二进制设定点的完整软件调试流程。内容以PPTX格式呈… · 2026/9/23 12:03:48
电子维修必看:常见电容类型识别与参数解读指南 做了这么多年电子维修和DIY,我上手一块陌生板子第一件事永远是先扫一眼上面有哪些电容。不是说电阻、芯片不重要,而是电容这玩意儿最特殊:它种类多、外观像、丝印杂,而且失效率高,一坏就是一大片连锁反应。很多刚入门的… · 2026/9/23 12:03:29
别背死理,3个源码解析带你搞懂inletexemc核心差异 别背死理,3个源码解析带你搞懂inletexemc核心差异 面试被问原理答不上来,是大多数开发者的噩梦。你背了一堆概念,面试官一问“底层怎么实现的”,脑子瞬间空白。这种尴尬,往往源于我们只知其然,不知其所以然。要想真正吃透技术,必须深入源码… · 2026/9/23 14:11:24
MATLAB尖峰检测实战:从findpeaks到小波包精检 简介:本资源是一套面向信号处理初学者与神经科学方向研究者的MATLAB尖峰自动检测算法实现,聚焦EEG脑电图中的棘波与海尖峰识别任务,解决噪声背景下突变点精准提取这一典型问题。压缩包仅含1个核心文件——autofindpeaks.m函数脚本,… · 2026/9/23 14:11:16
CAD布局设置实战:微服务思维解决图框错位难题 CAD布局设置实战:微服务思维解决图框错位难题 版本升级后 API 全变了?别慌,这不是玄学,是工程逻辑变了。 很多房建工程师在搞自动化出图时,一遇到 AutoCAD 布局(Layout)设置就头疼。特别是当你的 Python 脚本从… · 2026/9/23 14:11:16
13清单计算规则保姆级教程:从语法到落地不踩坑 13清单计算规则保姆级教程:从语法到落地不踩坑 刚学完Java语法,打开IDEA却对着空白的 main 函数发呆,不知道第一步该写什么?这种“会敲代码却不会搭项目”的断层感,是90%新手最大的噩梦。很多教程只讲 if-else… · 2026/9/23 14:11:09
Linux环境变量详解:从command not found到永久配置与急救 新装好的Linux,你满怀期待地敲下java,结果终端冷冷回了一句:command not found。别急着怀疑JDK没装好,多半是系统根本没被告知上哪儿找java这个命令。这个“告诉系统去哪儿找”的机制,就是环境变量。今天就把这玩意儿彻… · 2026/9/23 14:11:03
淘宝首屏性能优化避坑指南:从3秒到0.8秒的实战复盘 淘宝首屏性能优化避坑指南:从3秒到0.8秒的实战复盘 官方文档读了一堆,Fiddler抓包也看了,但首页打开还是慢得像蜗牛?别慌,这就是典型的“知道但做不到”。淘宝首屏加载慢,90%的开发者都掉进过同一个坑:… · 2026/9/23 14:11:03
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29