Невозможно зафиксировать или отправить с использованием GIT в конвейерном задании - не удалось создать каталог /home/SYSTEM/.ssh - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть Jenkins Master и я запускаю задания на ведомом компьютере Windows. Я пытаюсь отправить свои коммиты в репозиторий git, но не работает, как ожидалось

Ниже приведен мой конвейерный скрипт

{node('win2k12') {
def artifactTagVersion = params.TAG_VERSION
if(artifactTagVersion) { // groovy treats null or empty strings as false
    print "Building in Release mode for version: ${artifactTagVersion}"
    // create flag to define that release mode is active
    isRelease = true
    } else {
        print "Building in SNAPSHOT mode"
    }

stage("Checkout & Use git"){
    deleteDir()
    checkout scm
    if(isRelease){
        print "Preparing sources for releasing."
        // go into headless mode
        bat "git checkout --detach HEAD"
        bat "echo v${artifactTagVersion} > versionFile.txt"
        def commitMessage = "Release for version ${artifactTagVersion}"
        sshagent(['a075b609-adaf-233d7f3be0a0']) {
            bat "git add ."
            bat "git commit -m \"${commitMessage}\""
            bat "git tag -a v${artifactTagVersion} -m \"${commitMessage}\""
            bat "git push origin v${artifactTagVersion}"
        }
    }
}

И это ошибка, которую я получаю при сборке

E:\jenkins\slave\workspace\test-job-trainex---dev---ts>git push origin v1
Could not create directory '/home/SYSTEM/.ssh'.
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Понятия не имею, много пытался найти по этому поводу, но никто не ответил, почему это ищет каталог и ключи, когда это машина с Windows и путь выглядит как linux.

1 Ответ

0 голосов
/ 23 ноября 2018

Я понял проблему, проблема с ведомым Windows.Поэтому, пока мы настраиваем подчиненное устройство Windows, мы настраиваем его как сервис.Хотя мы устанавливаем службу Windows, лучше всегда настраивать ее с учетными данными.

  • Открывать службы (run-> services.msc)
  • Открывать свойства для процесса jenkins_slave
  • нажмите на вкладку «Вход»
  • Вместо системной учетной записи, настройте под «Эта учетная запись»
  • Остановите и снова запустите службу

Также вместо cygwin, установите git bash, который будет работать для служб sshd.Вот и все, и теперь все работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...