2011-01-21 16 views
5

Ho colpito questo per più di un giorno ora, mi sta facendo impazzire!Hudson non preleverà da Git

  • ho Git installato su un PC Win7, e selezionata l'opzione PuTTYgen su installazione.
  • Ho generato chiavi ssh utilizzando PuttyGen; Ho aggiunto la chiave ssh al mio account Git e ho collegato la chiave privata in Pageant.
  • Ho impostato GIT_SSH per puntare al mio stucco plink.exe.
  • Ho usato Putty per connettere lo al codetet & git per farli accettare come ospiti conosciuti.

posso clonare dalla console, ma Hudson fallisce:

Fetching upstream changes from [email protected]:xxx/xxx.git 
[workspace] $ "C:\Program Files\Git\bin\git.exe" fetch -t [email protected]: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 
    ... 

Se faccio funzionare l'ordine esatto git in una console, funziona benissimo:

"C:\Program Files\Git\bin\git.exe" fetch -t [email protected]:xxx/xxx.git +refs/heads/*:refs/remotes/origin/* 

ho provato a fare funzionare plink per connettersi direttamente a GitHub:

plink -agent -v [email protected] 
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. 

Ho quindi provato collegamento a codaset:

plink -agent -v [email protected] 
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 

Quindi, una risposta leggermente diversa da codetet che da git. Tuttavia, penso che questa potrebbe essere una falsa pista, poiché ottengo lo stesso errore se provo a connettermi a un progetto git standard di hudson.

ho anche creato Go Server (CruiseControl come era), e ottenere un errore simile quando si tenta di connettersi a git da qui:

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

Il che mi fa pensare il problema deve trovarsi con l'autenticazione, piuttosto che i dettagli hudson ...?

Come sempre, qualsiasi aiuto è molto apprezzato!

risposta

2

Questo potrebbe essere un problema di autorizzazioni. È possibile effettuare il clone sullo stesso computer con il, ma suppongo che non lo si sia eseguito come lo stesso utente che esegue Hudson. su a quell'utente, quindi riprova. Potrebbe esporre il problema.

+1

Bello, è logico che funzioni se eseguo hudson dalla console, ma non se eseguo hudson come servizio. Saluti! – laura

0

Hudson è in esecuzione sulla stessa macchina da cui è possibile eseguire il recupero? In caso contrario, probabilmente è necessario generare una chiave ssh su della macchina e aggiungerla al proprio account github.

In entrambi i casi, la prima domanda (a meno che non mi sia sfuggita nella tua domanda) è dove hai hudson in esecuzione.

+0

Grazie per la risposta. Posso recuperare/clonare con successo dallo stesso computer su cui è in esecuzione Hudson. (In effetti ho anche provato a clonare manualmente nel mio spazio di lavoro hudson per vedere se potevo aiutare le cose insieme. Non ha funzionato ...) Le chiavi ssh – laura

0

Dopo una lunga battaglia, ho risolto questo problema eseguendo hudson dalla console, anziché come servizio ... Non ideale, ma in questo momento di venerdì è abbastanza buono!

+1

tendono ad essere specifiche dell'utente. Se lo avevi eseguito come servizio, è possibile che fosse in esecuzione su un altro account utente (causando quindi il tuo problema con le autorizzazioni). – jerhinesmith

0

Ho ricevuto un errore irreversibile SSH "il server rifiuta di avviare una shell/comando" quando interagisco con la mia parte chiamata tramite Putty Plink.exe

Ho notato che il problema è che la mia parte chiamata è in modalità interattiva. Ad esempio, dopo che mi sono collegato alla parte chiamata, il mio interlocutore mi ha chiesto di premere un tasto per continuare. Dopo aver premuto il tasto Invio e aver digitato i comandi, devo digitare "esci", quindi premere "Invio" per uscire dalla connessione SSH.

Per rendere più interagire con la persona chiamata, ho costruito i miei comandi, come di seguito:

Note: Sto usando il codice PowerShell come un esempio qui.

$Commands= @" 

    show status 
    exit 
    exit 
"@ 

Si noti che ogni interruzione di riga nel parametro sopra rappresenta il tasto "Invio". Poi, ho passato il parametro Comandi al plink.exe come di seguito:

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

passerà un elenco di comandi per plink e l'uscita il risultato verbose alla variabile $ output.

Spero che questo aiuti!