Использование параметра задания Jenkins в команде bat - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь настроить параметр в конвейере 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 голосов
/ 13 сентября 2018

Вам необходимо использовать двойную кавычку для замены переменной.

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}"'
                }
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...