资讯动态

5分钟玩转一键发布:release-it 发布自动化工具完整入门指南

发布时间:2026/9/23 12:03:57 来源:尧图企业网站定制
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),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价