【问题标题】:Passing string parameter in JenkinsFile在 JenkinsFile 中传递字符串参数
【发布时间】:2021-09-16 03:49:18
【问题描述】:

我希望传递 $options,这是我的 Jenkinsfile 中的字符串参数。下面是我的 Jenkinsfile。 运行管道时出现此错误:java.lang.NullPointerException: Cannot get property '$options' on null object。我错过了什么?

pipeline {
  agent {
    docker {
      image 'babylon_ansible:latest'
      args '-u root'
    }
  } 
    
  stages {
    stage('ansible playbook') {
      steps {
        script {
          withCredentials([string(credentialsId: 'babylondumpspwd', variable: 'db_pass')]) {
            sh 'pwd'
            sh 'babylondumps' '$options`
          }
        }
      }
    }
  }
}

【问题讨论】:

  • 你在哪里定义了options变量?
  • @Melkjot 我有这份工作。我选择了project is parameterized 选项并添加了options 作为字符串参数。这不允许我在此处粘贴屏幕截图:(
  • @fmdaboville 我们是否应该在管道中定义参数,即使参数已经添加到 Jenkins 作业中?
  • 您可以在管道中定义它们,它们将在第一次构建后添加到 jenkins 作业中。

标签: docker jenkins jenkins-pipeline devops


【解决方案1】:

您可以使用params.options 访问参数并使用
sh "babylondumps ${params.options}" 调用sh

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    • 2012-05-29
    • 2014-02-20
    • 2016-01-11
    • 2018-08-05
    • 1970-01-01
    • 2012-03-27
    相关资源
    最近更新 更多