从Jenkins的Maven POM获取项目版本

在处理POM之后,Jenkins构建有什么方法可以知道项目的Maven版本号吗?

我有一些项目由Maven控制版本控制,在构建后的工作中,我们想创建一个Debian软件包并调用一些shell脚本。我需要的是Maven以前可以用作Jenkins环境变量的版本号,因此我可以将其传递给构建后操作。

需要明确的是,我 没有 需要知道如何让詹金斯版本号传递到Maven的; 相反,我希望Maven将版本号传递给Jenkins!

回答:

经过大量的挖掘(我从未意识到Jenkins的文档记录多么糟糕!),我找到了一个非常简单的解决方案。

  1. 安装Groovy插件
  2. 将A添加Post Step到您的Maven构建类型Execute **system** Groovy script
  3. 粘贴以下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

回到顶部