2012-05-31 11 views
11

Sto eseguendo il mio server TeamCity 7 e l'agente su MacOS. Il mio repo è in github. Io uso ssh e so che l'autenticazione è configurata correttamente, perché il test ha esito positivo.Errore agente TeamCity "impossibile eseguire il checkout sull'agente"

La build funziona bene quando utilizzo la modalità di verifica VCS "Automaticamente sul server", tuttavia quando utilizzo la modalità VCS Checkout "Automaticamente su agente" viene visualizzato questo errore.

[13:40:35][Updating sources] Failed to perform checkout on agent: '/usr/bin/git fetch --progress origin +refs/heads/master:refs/remotes/origin/master' command failed. 
stderr: java.io.IOException: Authentication failed 
    at org.jetbrains.git4idea.ssh.SSHMain.authenticate(SSHMain.java:275) 
    at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:159) 
    at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:139) 
fatal: The remote end hung up unexpectedly 

Cosa mi manca?

+1

Avete la chiave ssh corretta sull'agente? "Verifica connessione" nelle impostazioni root VCS verifica la connessione solo tra il server TeamCity e il repository. – neverov

+0

Credo di no, ma come faccio a capire l'account dell'agente? Posso cambiare l'account con cui lavora l'agente? – mishod

+0

L'account dell'agente è l'account con cui è stato avviato l'agente. Quindi sì, puoi cambiarlo. – neverov

risposta

17

Provare ad aggiungere teamcity.git.use.native.ssh = true come parametro di configurazione nella configurazione di build.

È quello che mi ha aiutato a risolvere un problema simile. Ho imparato questo trucco da here.

+0

Questo suggerimento lo ha risolto anche per me. – cheez

+0

Questo ha reso la mia giornata! Grazie così tanto! –

+1

Questo [collegamento] (https://youtrack.jetbrains.com/issue/TW-52052#comment=27-2607007) potrebbe anche essere utile se si hanno le chiavi SSH Putty (vedere il thread dei commenti) – sam9046

1

Ciò che non era affatto ovvio per me è che la chiave privata predefinita sul server viene copiata nell'agente e utilizzata lì. Ho provato prima invano ad aggiungere la chiave privata all'utente che l'agente stava eseguendo come (ovviamente sul computer dell'agente). Ma poi ho aggiunto la chiave privata all'utente che stava eseguendo TeamCity sul server, e poi ha iniziato a funzionare il checkout di Agent Side.

Ho utilizzato anche la proprietà teamcity.git.use.native.ssh=true, ma non penso che abbia aiutato con questo particolare problema.

L'unica traccia di queste informazioni era this comment.

Problemi correlati