maven - 如何从 Jenkins 声明式和脚本化管道内的 POM 中提取版本 ID?

标签 maven jenkins groovy jenkins-pipeline

我已经创建了一个管道并使用嵌入式 groovy 管道脚本定义,但似乎无法从 POM 获取项目的版本 ID。我尝试了这个,它在 groovy 控制台中工作,但在 Jenkins 构建管道脚本中工作:

def project = new XmlSlurper().parse(new File("pom.xml"))
def pomv = project.version.toString()

根据文档,Jenkins 有一个 $POM_VERSION 但当我将其分配给变量并回显它时,该值中没有任何内容。

def pomv = "$POM_VERSION"

或者

def pomv = '$POM_VERSION"

最佳答案

使用readMavenPom像这样:

pom = readMavenPom file: 'pom.xml'
pom.version

参见Model属性引用(如上面的版本)。

要使其工作,必须安装 Pipeline Utility Steps plugin

关于maven - 如何从 Jenkins 声明式和脚本化管道内的 POM 中提取版本 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37603619/

相关文章:

grails - 为什么 GORM 不保存我的对象?

java - 创建 Maven 项目时无法计算构建计划

java - 如何使用 japicmp 比较当前和以前构建中生成的 Artifact

java - Maven 发布插件 - 如何修改发布项目的版本

android - Jenkins mergeDebugResources 失败 - 无法访问文件

android - Grails模板

java - 如何创建 Maven 构建配置文件以有条件地复制文件?

java - SonarQube 不使用 IntelliJ 和 Maven 分析主要的 java 代码

git - Jenkins 扩展电子邮件不会打印 $GIT_BRANCH 或 $GIT_COMMIT

groovy - 从gradle运行JBehave?