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。
失败按插件的回滚步骤处理:半提交状态要及时清理再重试。
发布说明随标签生成:按标签汇总变更记录,交付时一并附上。