首页/开发/CI/CD 与发布速查/Maven 发布流程(release plugin)
构建与制品管理58 条

Maven 发布流程(release plugin)

用 maven-release-plugin 完成版本切换、打标签与发布:prepare 改版本提交,perform 检出标签构建并部署到发布仓库。

CI/CD 与发布速查开发更新于 2026-10-13

Maven 发布流程是什么

用 maven-release-plugin 完成版本切换、打标签与发布:release:prepare 把工程版本改成发布版、提交并打标签,同时改回下一个开发版;release:perform 按标签检出代码构建并部署到发布仓库。前置条件是 SCM 信息、发布仓库与签名配置就绪。发布应交给流水线执行——本地发布容易因环境差异产生未签名或未推送的制品。

基本信息

流程release:prepare(改版本、提交、打 tag),release:perform(按 tag 构建部署)
版本推进发布版与下一开发版同时确定
前置SCM 信息、发布仓库与签名配置就绪
执行位置流水线内执行,避免本地环境差异
标签由插件生成,发布前校验唯一性

典型使用场景

  • 正式发版:版本从开发版切换为发布版并推送仓库
  • 标签追溯:发布标签对应完整制品来源
  • 批量发布:多模块工程一次推进统一版本
  • 流水线发布:CI 上无人值守执行两个阶段
  • 演练:先在测试仓库跑通完整流程
  • 版本策略:语义化版本从参数传入,保留人工决策点

命令

命令
mvn release:prepare -DreleaseVersion=1.9.0 \
  -DdevelopmentVersion=1.10.0-SNAPSHOT   # 改版本、提交、打 tag
mvn release:perform   # 按 tag 检出构建并部署到发布仓库
# 前置:SCM、distributionManagement 与签名配置就绪

阶段读法

阶段做什么注意
prepare改版本、提交、打 tag失败要按回滚步骤恢复
perform按 tag 构建部署依赖 prepare 的产物
版本推进发布版与下个开发版两个参数都要明确
标签生成发布标签校验唯一防复用
部署推送发布仓库签名与权限先核对
发布由流水线执行:本地发布容易因环境差异产生未签名或未推送的制品。
两个阶段分段核对:prepare 完成后先看提交与标签,再触发 perform。
失败按插件的回滚步骤处理:半提交状态要及时清理再重试。
发布说明随标签生成:按标签汇总变更记录,交付时一并附上。

易错点

  • prepare 失败后仓库留下半提交状态:按文档执行回滚步骤再重试
  • 发布版本复用已存在标签:发布前校验标签唯一性
  • 本地手工发布:制品未签名或漏推送,仓库出现不一致状态
  • 正式发版带着跳过测试的参数:测试被绕过,带病制品进入发布仓库
  • 多模块版本脱节:父子模块版本不一致,发布前做一致性校验

数据来源与参考

  • Maven 文档《Maven Release Plugin》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌