首页 > 解决方案 > 是否有自动增加 Maven 版本的好方法

问题描述

我已经这样做了一段时间,这是当前的情况:

对于发布,我想我可以在检索版本的地方做类似的事情,然后想办法增加它 -> 发布回当前活动的分支 -> 然后最后进行部署。现在,我采用了一种稍微容易一些但容易出错的方法:我尝试获取我们使用的工件中设置的当前版本,如果它存在,我会通过一条消息指出该版本已经存在而使管道失败。现在不是很好,因为我实际上在这里反转了一个错误条件,所以如果 maven 由于任何其他原因失败,它实际上假定该版本不存在并继续进行下一步。啊。

现在,我在这里寻找的要点实际上是处理 maven 项目和版本控制的最佳方法。理想情况下,我的目标是:

我确实有一个限制:我们使用的工具不允许我们拥有合并挂钩(Azure DevOps 和 Azure Git)。这意味着我们仅限于拉动(和 PR)以及 PR 合并后的管道。

我很高兴在现实中采取任何其他方法,我觉得我正在竭尽全力做出一些现在应该有明确路径的东西,所以我希望有人能在这里提供一些指导。

标签: gitmavencontinuous-integration

解决方案


@davidxxx 答案的补充。build-helper maven 插件的使用可以改善:

mvn build-helper:parse-version versions:set \
    -DnewVersion=\${parsedVersion.nextMajorVersion}.0.0 \
    versions:commit

或像这样:

mvn build-helper:parse-version versions:set \
   - DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.nextMinorVersion}.0 \
   versions:commit

没有任何 sed 等更多细节:


推荐阅读