繁体   English   中英

Maven发布插件-如何更改发布项目的版本

[英]Maven release plugin - how to bump version of release project

我在Jenkins for CICD中使用了Maven发布插件。 由于各种原因,我们不像我们想象的那样进行快照。 我们将Jenkins设置为针对主分支(版本为0.1、1.0)运行构建。 而且,我们希望每次运行Jenkins时都增加发行版的版本号。 这些是我在Jenkinsfile中拥有的命令:

sh "mvn -B release:clean"
sh "mvn -B release:prepare"
sh "mvn -B release:perform"

最终出现错误You don't have a SNAPSHOT project in the reactor projects list release:prepare以来,这并不奇怪release:prepare总是在寻找SNAPSHOT分支。 有办法解决吗? 我发现此选项-DignoreSnapshots用于prepare但没有用。

在运行发行插件mvn -B release:prepare之前,该发行插件应具有1.0-SNAPSHOT mvn -B release:prepare将版本更改为发行版本1.0 ,然后将其更改为1.1-SNAPSHOT (即下一个开发版本)。 release:perform期间release:perform版本1.0的标记状态将从版本控制中检出,并将执行mvn clean deploy

此外,可以通过以下方式使用发布插件:

mvn -B release:prepare release:perform

并且在出现问题的情况下,您可以执行mvn release:clean (但是如果已手动创建,则需要删除标签)。

如果您只有无法使用的发行版...除了SNAPSHOT不是分支之外,这是一个版本问题...

您可以通过build-helper-maven-pluginversions-maven-plugin完成所需的操作

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

之后,您应该将此更改提交到版本控制中(最好通过Jenkins中的Pipelines完成)。 此外,通过scm-maven-plugin

mvn scm-maven-plugin:commit

不幸的是,使用maven版本插件是不可能的。 您应该为此准备快照。

但是,如果您只需要更新项目版本,则可以使用Maven版本插件

参见http://www.mojohaus.org/versions-maven-plugin/examples/set.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM