我在Jenkins工作中使用maven-release-plugin,在SCM运行之前我有一个" Run构建步骤"在我执行shell脚本的地方启用。我想访问此shell脚本中的发行版但无法访问它。我不确定在此插件中存储发行版本的变量是什么。
我尝试过使用
\"release_version\": \"$releaseVersion\"
因为我看到正在执行的maven命令是:
Executing 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:prepare release:perform
以及
\"release_version\": \"$MVN_RELEASE_VERSION\"
他们两个都没有工作。
答案 0 :(得分:0)
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 的version元素。使用上面的命令从XML文件读取它。之后,您可以使用mvn release:clean