maven - 访问 maven-release-plugin 的发布版本

标签 maven maven-release-plugin

我在我的 Jenkins 作业中使用 maven-release-plugin,并且我在执行 shell 脚本时启用了“在 SCM 运行之前运行构建步骤”。我想访问此 shell 脚本中的发布版本但无法访问它。我不确定在这个插件中存储发布版本的变量是什么。

我试过用

\"release_version\": \"$releaseVersion\"

我看到正在执行的 maven 命令是: 执行 Maven:-B -f/workspace/myProject/pom.xml -DdevelopmentVersion=0.0.34-SNAPSHOT -DreleaseVersion=0.0.33 -Dtag=v0.0.33 -U -DignoreSnapshots=true -Darguments=-Dpaypal。 buildid=${FUSION_BUILD_GENERATED} -DskipTests=false -Dmaven.javadoc.skip=true -Dresume=false 发布:准备发布:执行

还有

\"release_version\": \"$MVN_RELEASE_VERSION\"

他们都没有工作。

最佳答案

maven-release-plugin 从 pom.xml 中的 project.version 元素派生 releaseVersion。另请注意,-DreleaseVersion=0.0.33 将该值作为参数传递,因此不涉及您可以从插件外部使用的变量。

但是,如果您需要脚本中的发布版本,您可以使用

mvn help:evaluate -Dexpression=project.version -q -DforceStdout

根据您的版本架构,这将为您提供类似于 1.0.1-SNAPSHOT 的内容。您可以通过 cut -d- -f1 等 bash 命令删除 -SNAPSHOT。或者你运行类似

mvn release:prepare -DdryRun=true

这会为您提供一个名为 pom.xml.tag 的文件。这包含没有 -SNAPSHOT 的版本元素。使用上面的命令从 XML 文件中读取它。之后,您可以使用 mvn release:clean

清理目录

关于maven - 访问 maven-release-plugin 的发布版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49418837/

相关文章:

git - 在使用 Hudson/Jenkins 等 CI 工具时,我如何通过 GitHub(或 GitHub 企业版)成功使用 Maven 发布插件

java - 如何在 IntelliJ Idea 中添加远程 Maven 存储库?

java - java程序的单元测试

java - 错误 :(52, 0) 未找到 Gradle DSL 方法:使用 Quickblox API 时为 'сompile()'

maven-2 - 当打包( war )许多模块时(Maven),将两个或多个 persistence.xml 合并为一个

maven-3 - 如何在 maven-release-plugin 的执行目标期间关闭配置文件

maven - 使用 maven 单独的本地下载和安装存储库?

git - 多模块项目中的 maven-release-plugin 每个模块都有一个单独的 git 存储库

java - 无法执行目标 org.apache.maven.plugins :maven-release-plugin:2. 5.3:prepare

svn - Maven 发布插件无法解析具有特殊字符的密码