Хадсон не получит от Git - PullRequest
       23

Хадсон не получит от Git

5 голосов
/ 21 января 2011

Я бью уже один день, это меня бесит!

  • Я установил Git на ПК с Win7 и выбрал опцию PuttyGen при установке.
  • Я сгенерировал ssh-ключи, используя PuttyGen;Я добавил ключ ssh в свою учетную запись Git и связал закрытый ключ в Pageant.
  • Я настроил GIT_SSH так, чтобы он указывал на мою замазку plink.exe.
  • Я использовал Putty для подключения к codaset & git, чтобы они были приняты как известные хосты.

Я могу клонировать с консоли, но hudson не работает:

Fetching upstream changes from git@codaset.com:xxx/xxx.git
[workspace] $ "C:\Program Files\Git\bin\git.exe" fetch -t git@codaset.com:xxx/xxx.git +refs/heads/*:refs/remotes/origin/*
ERROR: Problem fetching from origin / origin - could be unavailable. Continuing anyway
ERROR: Could not fetch from any repository
FATAL: Could not fetch from any repository
hudson.plugins.git.GitException: Could not fetch from any repository
    ...

Если я запускаю точную команду git в консоли, она работает нормально:

"C:\Program Files\Git\bin\git.exe" fetch -t git@codaset.com:xxx/xxx.git +refs/heads/*:refs/remotes/origin/*

Я попытался запустить plink для прямого подключения к GitHub:

plink -agent -v git@github.com
Looking up host "github.com"
...
Pageant is running. Requesting keys.
Pageant has 1 SSH-2 keys
Using username "git".
...
Authenticating with public key "rsa-key-20110121" from agent
...
Hi xxx! You've successfully authenticated, but GitHub does not provide
 shell access.

I тогдапопытался подключиться к codaset:

plink -agent -v git@codaset.co
m
Looking up host "codaset.com"
Pageant is running. Requesting keys.
Pageant has 1 SSH-2 keys
Using username "git".
...
Authenticating with public key "rsa-key-20110121" from agent
...
Opened channel for session
Server refused to allocate pty
Started a shell/command
Error: Command is required.
...
Server sent command exit status 255
Disconnected: All channels closed

Таким образом, отклик от codaset немного отличается от git.Тем не менее, я думаю, что это может быть красная сельдь, поскольку я получаю ту же ошибку, если пытаюсь подключиться к стандартному проекту git от hudson.

Я также настроил Go Server (CruiseControl as was) и получаюпохожая ошибка при попытке подключиться к git отсюда:

ERROR: FATAL ERROR: Disconnected: No supported authentication methods available
ERROR: fatal: The remote end hung up unexpectedly

Что заставляет меня думать, что проблема должна заключаться в аутентификации, а не в деталях hudson ...?

Как всегда, любая помощь высоко ценится!

Ответы [ 4 ]

2 голосов
/ 21 января 2011

Это может быть проблема с разрешениями. Вы можете использовать git clone на той же машине, но я предполагаю, что вы делали это не так, как тот же пользователь, работающий с Hudson. su для этого пользователя, затем повторите попытку. Это может выявить проблему.

0 голосов
/ 10 декабря 2012

Я получил фатальную ошибку SSH «сервер отказывается запускать оболочку / команду», когда я взаимодействую со своей вызываемой стороной через Putty Plink.exe

Я заметил, что проблема в том, что моя вызываемая сторона находится в интерактивном режиме. Например, после того, как я подключился к вызываемой стороне, моя вызываемая сторона попросила меня нажать любую клавишу, чтобы продолжить. После того, как я нажал клавишу Enter и набрал команды, мне нужно набрать «exit», затем нажать «Enter» для выхода из SSH-соединения.

Чтобы заставить его взаимодействовать с вызываемой стороной, я построил свои команды следующим образом:

Примечания. В качестве примера я использую код PowerShell.

$Commands= @" 

    show status 
    exit 
    exit
"@

Обратите внимание, что каждый разрыв строки в вышеприведенном параметре представляет собой клавишу «Enter». Затем я передал параметр Commands в файл plink.exe, как показано ниже:

$output = $Commands |.\Putty\plink.exe -auto_store_key_in_cache -l $UserName -pw $Password $CalledPartyIP -v 2>&1

Он передаст список команд для вывода и вывода подробного результата в переменную $ output.

Надеюсь, это поможет!

0 голосов
/ 21 января 2011

После долгой битвы я решил эту проблему, запустив hudson из консоли, а не как службу ... Не идеально, но в это время в пятницу это достаточно хорошо!

0 голосов
/ 21 января 2011

Hudson работает на той же машине, с которой вы можете успешно извлечь?Если нет, то вам, вероятно, нужно сгенерировать ssh-ключ на этой машине и добавить его в свою учетную запись github.

В любом случае, первый вопрос (если я не пропустил его в вашем вопросе)) где у вас работает Хадсон.

...