【问题标题】:Version Number Plugin in Jenkins declarative pipelineJenkins 声明式管道中的版本号插件
【发布时间】:2017-12-25 10:01:40
【问题描述】:

我正在尝试使用版本号插件来格式化我们的版本号 包。 由于某种原因,版本变量的放置不起作用 当我回显以下内容时,我只会得到内部版本号,例如:“...54”

    def Version_Major = '1'
    def Version_Minor  = '0'
    def Version_Patch  = '0'

    pipeline {  
        environment {
          VERSION = VersionNumber([
              versionNumberString: '${Version_Major}.${Version_Minor}.${Version_Patch}.${BUILD_NUMBER}', 
           worstResultForIncrement: 'SUCCESS'

          ]);
        }
            stage ('Restore packages'){
            steps {
                script{
                echo "${VERSION}"
             }
          }
       }
   }

编辑:它看起来确实是插件使用的问题,因为它有效:

properties([
    parameters([        
        string(name: 'Version_Major', defaultValue: '1', description: 'Version Major'),
        string(name: 'Version_Minor', defaultValue: '0', description: 'Version Minor'),
        string(name: 'Version_Patch', defaultValue: '0', description: 'Version Patch')
        ])
    ])

pipeline {  
    agent any
    environment {
     VERSION = "${params.Version_Major}.${params.Version_Minor}.${params.Version_Patch}.${BUILD_NUMBER}"
    }

    stages{
    stage ('Test'){
        steps {     
            echo "${VERSION}"
            }
        }
    }
}

【问题讨论】:

  • 使用双引号会更好吗? versionNumberString: "${Version_Major}..."
  • 不,只是在打印的消息中添加引号。

标签: jenkins jenkins-pipeline


【解决方案1】:

您必须在管道内定义变量。

试试这个:

pipeline {  
    environment {
      Version_Major = '1'
      Version_Minor  = '0'
      Version_Patch  = '0'
      VERSION = VersionNumber([
          versionNumberString: '${Version_Major}.${Version_Minor}.${Version_Patch}.${BUILD_NUMBER}', 
       worstResultForIncrement: 'SUCCESS'

      ]);
    }
        stage ('Restore packages'){
        steps {
            script{
            echo "${VERSION}"
         }
      }
   }
}

如果您需要使用参数,也可以通过:

parameters {
        string(name: 'PERSON', defaultValue: 'Mr Jenkins', description: 'Who should I say hello to?')
    }

用法: "Hello ${params.PERSON}"

【讨论】:

  • 不幸的是,两者都对我不起作用并导致相同的结果。看起来版本插件由于某种原因没有连接版本参数。
  • 没有错误,也没有堆栈跟踪。构建仅通过错误的输出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-10
  • 2017-08-12
  • 2021-01-15
相关资源
最近更新 更多