我已经创建了一个管道并使用嵌入式 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/