ddd*_*ddd 1 java maven maven-release-plugin jenkins
我正在使用詹金斯的maven发布插件进行CICD.由于各种原因,我们没有像我们想象的那样做SNAPSHOT.我们将Jenkins设置为针对master分支运行构建,版本为0.1,1.0.我们希望每次运行Jenkins时都会发布版本号.这些是我在Jenkinsfile中的命令:
sh "mvn -B release:clean"
sh "mvn -B release:prepare"
sh "mvn -B release:perform"
Run Code Online (Sandbox Code Playgroud)
结束了收到错误You don't have a SNAPSHOT project in the reactor projects list
.因为release:prepare
总是寻找SNAPSHOT分支,所以不足为奇.有办法解决它吗?我找到了这个选项-DignoreSnapshots
,prepare
但它没有用.
发布插件旨在拥有一个1.0-SNAPSHOT
之前运行的发布插件mvn -B release:prepare
,它将版本更改为发行版本1.0
,然后将其更改为1.1-SNAPSHOT
(所谓的下一个dev版本).在release:perform
标记状态下,您1.0
将从版本控制中检出构建状态并执行mvn clean deploy
.
此外,使用发布插件可以通过以下方式完成:
mvn -B release:prepare release:perform
Run Code Online (Sandbox Code Playgroud)
如果出现问题,您可以这样做mvn release:clean
(但如果已手动创建,则需要删除标签).
如果你只有那些不起作用的版本......除了那个SNAPSHOT
不是分支它是一个版本的东西......
您可以通过build-helper-maven-plugin和versions-maven-plugin完成您喜欢的任务:
mvn build-helper:parse-version versions:set \
-DnewVersion=\${parsedVersion.majorVersion}.\
${parsedVersion.minorVersion}. \
${parsedVersion.nextIncrementalVersion} \
versions:commit
Run Code Online (Sandbox Code Playgroud)
之后,您应该将此更改提交到版本控制(最好通过Jenkins中的管道完成).此外,通过scm-maven-plugin:
mvn scm-maven-plugin:commit
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3610 次 |
最近记录: |