Конвейер Дженкинса и ключи SSH — Git агент работает, SSH агент нет

#git #jenkins

#git #Дженкинс

Вопрос:

Я пытаюсь использовать репозитории Git в своем конвейере, но у меня возникают проблемы с аутентификацией. В конечном итоге мне нужно использовать «tsrc», но аутентификация не выполняется даже на простых примерах.

Вот самый простой пример, который я могу придумать. Это работает.

   stage('Hello') {
    steps {
      git branch: 'master', credentialsId: 'Github-SSH', url: 'git@****'
      echo 'Hello World'
    }
  }
  

Это не так.

 steps {
  withCredentials([sshUserPrivateKey(credentialsId: 'Github-SSH', keyFileVariable: 'KEY_FILE')])             
    {
    sh '''
            eval `ssh-agent -s`
            ssh-add ${KEY_FILE}
            git clone git@****
    '''
    }
  }
}
  

Второй пример выдает ошибку:

 Host key verification failed.
  

Ответ №1:

попробуйте заменить `’ на «»» таким образом, который ${KEY_FILE} интерпретируется как переменная. PS Я встречал поведение, когда декларативные конвейеры действуют иначе, чем Groovy. Итак, не уверен.