Проблема с запуском Jenkins Pipeline Steps с использованием подключаемого модуля Credentials

У меня есть базовый конвейер, который копирует каталог в удаленный каталог. Если у меня есть имя пользователя и пароль в виде обычного текста, он работает нормально, но когда я пытаюсь использовать withCredentials, я получаю ошибки аутентификации. Есть ли какой-то синтаксис для ссылки на это? Конвейер выглядит следующим образом

node {
    withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'creds-id', usernameVariable: 'username', passwordVariable: 'password']]){

    def remote = [:]
    remote.name = 'EU Server 1'
    remote.host = 'server1@server.com'
    remote.user = '$username'
    remote.password = '$password'
    remote.allowAnyHosts = true

    stage('Copy dir to server'){
        sshPut remote: remote, from: '/data/workspace', into: '/home/server1/workspace1'
    }
}

Я получаю сообщение об ошибке ниже

com.jcraft.jsch.JSchException: Auth fail
at com.jcraft.jsch.Session.connect(Session.java:519)
at com.jcraft.jsch.Session.connect(Session.java:183)
at com.jcraft.jsch.Session$connect$6.call(Unknown Source)
0
задан 14 January 2019 в 12:30
2 ответа

Используйте двойные кавычки вместо одинарных. Одиночные кавычки предотвращают интерполяцию строк:

remote.user = "$username"
remote.password = "$password"
0
ответ дан 5 December 2019 в 04:31

Ответом на этот вопрос было отсутствие кавычек / символов var

remote.user = username
remote.password = password
0
ответ дан 5 December 2019 в 04:31

Теги

Похожие вопросы