我如何在jenkins管道工作中获得pom版本

时间:2017-11-03 20:37:40

标签: jenkins groovy pom.xml jenkins-pipeline

我想在我的一个舞台上获得pom版本。为此我有这个管道脚本。我安装了Pipeline 实用程序步骤插件

stage ('Publish Stage') {
            steps {
                 pom = readMavenPom file: 'pom.xml'
                 echo pom.version
            }
        }

我对此有误,有人能说出我在做什么错误吗?

2 个答案:

答案 0 :(得分:3)

你不能像这样在声明性管道中分配一个groovy变量。您只能在steps{}块中运行步骤。如果将其包装在script{}块中,它将起作用。如果您需要在其他地方使用变量,请注意不要在本地声明变量。

答案 1 :(得分:1)

编写步骤{}块并将其包装在脚本{}中是可行的,但就我而言,我只是在整个环境中使用了变量。

   stage('Read Pom Version'){
       pom = readMavenPom file: 'pom.xml'
       env.POM_VERSION = pom.version

       sh '''#!/bin/bash -xe
           echo $POM_VERSION
       '''.stripIndent()
    }

假设我pom中的版本是1.0.0。在詹金斯舞台上面的照片如下:

    1.0.0
    echo 1.0.0