Jenkins - Как это возможно, что консоль bat работает внутри плагина sshagent, а консоль sh - нет? - PullRequest
0 голосов
/ 02 мая 2020

Кто-нибудь знает, почему:

…
steps 
{
    script 
    {   
        sshagent(credentials: ['jenk']) 
        {
            sh "git remote show …"  //This does not work !
            bat "git remote show …" //This works ??  
        }
    }
}
...

Управление учетными данными 'jenk' осуществляется через Jenkins-> учетные данные-> Система-> глобальные учетные данные

РЕДАКТИРОВАТЬ: Извините, забыл ошибку msg:

    Host key verification failed
    fatal: Could not read from remote repository

1 Ответ

0 голосов
/ 03 мая 2020

Jenkins был настроен с использованием CYGWIN_NT-6.3-WOW (i686 Cygwin) для команд sh.

После того, как все эти команды очистили все:

if (isUnix()) 
{
    echo  "Jenkins runs on Linux"                     
}
else 
{
    echo  "Jenkins runs on Windows"
}

echo "show shell kernel version (uname -a) : "
def res = sh (script: "uname -a", returnStdout: true)
echo "${res}" //=>CYGWIN_NT-6.3-WOW...

res2 = sh (script: "ls -al ~/.ssh", returnStdout: true)
echo "${res2}"

Итак, решение для Поэтому проблема выше заключается в добавлении s sh -ключей к cygwin

. Если вам нужны ваши учетные данные, вы можете сделать это: https://codurance.com/2019/05/30/accessing-and-dumping-jenkins-credentials/

...