简体   繁体   English

使用 Maven Release 访问发布版本

[英]Accessing released version using Maven Release

I'm building a custom pipeline in Jenkins, where I'm invoking Maven Release plugin and I would need to store the released artifact version.我在 Jenkins 中构建自定义管道,我在其中调用 Maven 发布插件,我需要存储已发布的工件版本。 Command run on Jenkins:命令在 Jenkins 上运行:

sh 'mvn -Dusername=${GIT_USERNAME} -DskipTests -Darguments=-DskipTests --batch-mode clean release:clean release:prepare release:perform'

Artifact versions:工件版本:

Prior to release: 0.0.1-SNAPSHOT发布前:0.0.1-SNAPSHOT

Released: 0.0.1已发布:0.0.1

After release: 0.0.2-SNAPSHOT发布后:0.0.2-SNAPSHOT

I would like to be able to store released versions "0.0.1" to be reused later in sh or Groovy script, how can I do that?我希望能够存储已发布的版本“0.0.1”以便稍后在 sh 或 Groovy 脚本中重复使用,我该怎么做?

You can get the version using the help plugin:您可以使用help插件获取版本:

RESULT=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
echo $RESULT

See https://maven.apache.org/plugins/maven-help-plugin/evaluate-mojo.html参见https://maven.apache.org/plugins/maven-help-plugin/evaluate-mojo.html

This will include the -SNAPSHOT suffix, so you'll need to remove that:这将包括-SNAPSHOT后缀,因此您需要删除它:

RESULT=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout | sed s/-SNAPSHOT//)
echo $RESULT

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

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