【问题标题】:How i can get the pom version in jenkins pipeline job我如何在詹金斯管道作业中获得 pom 版本
【发布时间】:2018-04-16 16:12:14
【问题描述】:

我想在我的某个阶段获得 pom 版本。为此,我有这个管道脚本。我已经安装了 Pipeline Utility Steps 插件

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

我遇到了这个错误,谁能告诉我我做错了什么?

【问题讨论】:

标签: jenkins groovy pom.xml jenkins-pipeline


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    编写 steps{} 块并将其包装在 script{} 中会起作用,但就我而言,我只是在环境中使用了变量。

       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。 jenkins 舞台上方打印以下内容:

        1.0.0
        echo 1.0.0
    

    【讨论】:

    • 但这是脚本管道的代码,而不是声明性的。
    • 投票,因为获取 pom 版本的 sn-p 对我有用。
    猜你喜欢
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 2021-11-14
    • 2017-09-06
    相关资源
    最近更新 更多