簡體   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