在bat命令中使用Jenkins job参数

时间:2018-09-13 06:24:24

标签: jenkins

我正在尝试在Jenkins管道中配置参数,然后在bat命令中执行它:

pipeline {
    agent {
        label 'master'
    }
    parameters {
        string (
            defaultValue: '"someExe.exe"',
            description: '',
            name : 'varExe'
        )
    }
    stages {
        stage("hi") {
            steps {
                script {
                    bat '${params.varExe}'
                }
            }
        }       
    }
}

不幸的是,我收到此错误:

'${varExe}'is not recognized as an internal or external command

由于某种原因,詹金斯不使用varExe值。

我也尝试过bat '${varExe}',但还是没有运气。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要在此处使用双引号替换变量。

bat "${params.varExe}"

您必须小心单引号和双引号。对于下面的示例,第一个将回显someExe.exe,而第二个将引发错误的替换错误。

pipeline {
    agent any
    parameters {
        string (
            defaultValue: '"someExe.exe"',
            description: '',
            name : 'varExe')
    }
    stages {
        stage ('Test') {
            steps {
                script {
                    sh "echo '${params.varExe}'"
                    sh 'echo "${params.varExe}"'
                }
            }
        }
    }
}