【问题标题】:Inject Jenkins Variable to maven using Declarative Pipeline使用声明性管道将 Jenkins 变量注入 Maven
【发布时间】:2020-11-18 11:06:38
【问题描述】:

我无法在附加图像中添加上述带圆圈的功能作为声明性管道语法。
PS我是新手,我在其他答案上搜索过,但没有人符合我的要求。

比如jenkins里面有个叫VERSION的Parameter,maven命令应该变成

clean deploy -B -s pathtosettings.xml -DVERSION=valueinparameter

以下是我当前的代码 注意:我想要所有参数自动 -DVERSION=${params.VERSION} 对我没有帮助

 pipeline {
  agent any
  stages {
    stage('Checkout Scm') {
      steps {
        git 'ssh://git@XXXXXXXXXXXXXXXXXXXXXXXXX.git'
      }
    }

    stage('Maven Build 0') {
      steps {
     
      configFileProvider([configFile(fileId:'0c0631a5-6510-4b4a-833d-4b80fa67d5f3', targetLocation: 'settings.xml', variable: 'SETTINGS_XML')]) {
withMaven{  
 sh "mvn clean deploy -B -s ${SETTINGS_XML}
        }
        }
      }
    }

    
  tools {
    jdk 'JDK_1.8'
  }
  
  
  parameters {
    string(name: 'VERSION', defaultValue: '3_12_0', description: 'version to be in maven')
  }
}

【问题讨论】:

  • sh 'mvn clean deploy -B -s ${SETTINGS_XML} -DVERSION={VERSION}怎么样

标签: jenkins jenkins-pipeline jenkins-plugins maven-plugin jenkins-declarative-pipeline


【解决方案1】:

首先,我认为您不需要targetLocation 来执行此操作。

要访问您的参数值,您需要使用params 前缀。

这就是我使用configFileProvider 使其工作的方式:

configFileProvider([configFile(fileId: 'configFileId', variable: 'SETTINGS_XML')]) {
    sh "mvn clean deploy -s \$SETTINGS_XML -B -DVERSION=$params.VERSION"
}

这样,链接设置文件的变量不会被替换,它在我的管道中正确使用,并且版本在命令中被替换。不要忘记使用 configFileProvider中的'Maven settings.xml'类型的文件。

【讨论】:

  • 谢谢,但这并没有添加参数中的所有参数,但我找到了下面发布的解决方案。再次感谢。
  • 好的,我误解了这个问题,您的解决方案应该有效。
【解决方案2】:
 steps {
      script{
          foo= " "
          params.each {param ->
             foo = "${foo} -D${param.key}=${param.value} "
        }
      }
      configFileProvider([configFile(fileId:'XXXX', targetLocation: 'settings.xml', variable: 'SETTINGS_XML')]) {
        withMaven{
            sh "mvn clean deploy -B -s ${SETTINGS_XML} - ${foo}"
        }
      }

这是找到的唯一方法

【讨论】:

    猜你喜欢
    • 2021-05-24
    • 2022-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 2022-09-27
    • 1970-01-01
    • 2018-11-10
    相关资源
    最近更新 更多