Maven发布插件 - 如何破解发布项目的版本

时间:2017-05-17 14:19:52

标签: java maven jenkins maven-release-plugin

我正在使用詹金斯的maven发布插件进行CICD。出于各种原因,我们没有像我们想象的那样做快照。我们将Jenkins设置为针对master分支运行构建,版本为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总是寻找SNAPSHOT分支,所以不足为奇。有办法解决它吗?我为-DignoreSnapshots找到了prepare这个选项,但它没有用。

2 个答案:

答案 0 :(得分:7)

发布插件在运行发布插件1.0-SNAPSHOT之前打算mvn -B release:prepare,它会将版本更改为发布版本1.0,然后将其更改为{{1} (所谓的下一个开发版)。在1.1-SNAPSHOT期间,您的版本release:perform的已标记状态将从版本控制中签出,并将执行1.0

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

mvn clean deploy

如果出现问题,您可以执行mvn -B release:prepare release:perform (但如果已手动创建,则需要删除标记)。

如果你只有版本不起作用......除了mvn release:clean不是分支,它是版本的东西...

您可以通过build-helper-maven-pluginversions-maven-plugin

完成您喜欢的活动
SNAPSHOT

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

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

答案 1 :(得分:1)

不幸的是,使用maven发布插件是不可能的。你应该有SNAPSHOTs。

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

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