从Jenkins的Maven POM获取项目版本
在处理POM之后,Jenkins构建有什么方法可以知道项目的Maven版本号吗?
我有一些项目由Maven控制版本控制,在构建后的工作中,我们想创建一个Debian软件包并调用一些shell脚本。我需要的是Maven以前可以用作Jenkins环境变量的版本号,因此我可以将其传递给构建后操作。
需要明确的是,我 没有 需要知道如何让詹金斯版本号传递到Maven的; 相反,我希望Maven将版本号传递给Jenkins!
回答:
经过大量的挖掘(我从未意识到Jenkins的文档记录多么糟糕!),我找到了一个非常简单的解决方案。
- 安装Groovy插件
- 将A添加
Post Step
到您的Maven构建类型Execute **system** Groovy script
- 粘贴以下Groovy片段:
import hudson.model.*;import hudson.util.*;
def thr = Thread.currentThread();
def currentBuild = thr?.executable;
def mavenVer = currentBuild.getParent().getModules().toArray()[0].getVersion();
def newParamAction = new hudson.model.ParametersAction(new hudson.model.StringParameterValue("MAVEN_VERSION", mavenVer));
currentBuild.addAction(newParamAction);
MAVEN_VERSION
现在可以使用通常的方式(${MAVEN_VERSION}
)将称为的构建环境变量替换为其他构建后步骤。我正在将它用于Git标记等。
以上是 从Jenkins的Maven POM获取项目版本 的全部内容, 来源链接: utcz.com/qa/433210.html