[英]Maven artifact version number with custom variable
我在我的 pom 這個部分:
<groupId>com.sample.app</groupId>
<artifactId>simpleapp</artifactId>
<version>1.0.9-${buildNumber}-SNAPSHOT</version>
<packaging>war</packaging>
有沒有什么好的和“maven 方式”來保持這個變量名 ${buildNumber} 在 pom 中的那個地方,就像現在這樣? 我的意思是——當我表演的時候
mvn deploy:prepare deploy:release -DbuildNumber=${BUILD_NUMBER}
pom.xml 中的此版本部分已更新為(當 BUILD_NUMBER eq: 12 時):
<version>1.0.9-12-SNAPSHOT</version>
這幾乎可以,但這也已提交到存儲庫。 我喜歡這樣一個事實,即在 git 存儲庫中創建了這個標簽:1.0.9-12,但我更喜歡在pom.xml
文件中保留我的原始版本格式:
<version>1.0.9-${buildNumber}-SNAPSHOT</version>
這是因為我在公司中添加到人工制品版本的這種愚蠢方法也來自 CI 工具的內部版本號:(
有人可以給我一些提示如何處理嗎?
Maven 發布插件有一個名為developmentVersion
的參數,允許您設置發布完成后提交到 git 分支的新版本。
如果您想告訴 Release Plugin 重用您之前使用的版本部分, Build Helper Maven Plugin可以幫助您解析版本。 它創建諸如majorVersion
和minorVersion
之類的屬性,您可以從中構造您喜歡的目標版本。
感謝 JF Meier - 我認為這將解決“我的問題”:
mvn --batch-mode \
-DdevelopmentVersion=1.6.6-\${buildNumber}-SNAPSHOT \
-DreleaseVersion=1.6.6-18 \
release:clean \
release:prepare \
release:perform
我不知道如何使用這個插件:build-helper:parse-version 來獲取主要、次要和增量編號,但我將使用一些 Jenkins 插件從 pom.xml 中提取這些值。 然后我可以動態設置它,自動執行整個操作(構建 + git 標簽 + 上傳到 nexus),結果我的 pom.xml 將使用 ${buildNumber} 變量更新!
謝謝!
更新:
我已經為這個助手插件添加了依賴,最終結果是這樣的:
mvn --batch-mode \
build-helper:parse-version \
-DdevelopmentVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion}-\${parsedVersion.qualifier} \
-DreleaseVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.incrementalVersion}-31 \
release:clean \
release:prepare \
release:perform
我刪除了這個 ${buildNumber} 因為它不是必需的 - Build Helper Plugin 幫助了我很多 - 我不需要 CI 計划中的任何額外步驟。 現在我有了自動增量,並且在發布期間我可以添加構建計划 ID。
對我來說,情況已解決:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.