2013-06-14 8 views
7

Ho un lavoro Jenkins che viene estratto da un repository BitBucket che funzionava correttamente, e lo è ancora. Comunque, ho aggiunto un sottomodulo e Jenkins sta soffocandolo. Ecco una clip dalla uscita della console Jenkins:Perché Jenkins riceve l'errore di autenticazione fallita per l'aggiornamento del sottomodulo git?

FATAL: Comando "C: \ Program Files (x86) \ Git \ cmd \ git.exe modulo di aggiornamento" ha restituito il codice di stato 1: stdout: Clonazione in ' sottomoduli/my.repo' ...

stderr: fatale: autenticazione non è riuscita

sto usando una chiave SSH, che ho aggiunto ai miei chiavi di distribuzione per il pronti contro termine principale di BitBucket. E questo ha sempre funzionato. Ho aggiunto la stessa chiave alle chiavi di implementazione del mio repo del sottomodulo. Qualcuno può dirmi perché l'autenticazione sta fallendo?

+0

Ho esattamente lo stesso problema con GitHub, la build funzionava bene, ma ora non riesce dopo aver aggiunto un sottomodulo. Ricevo FATAL: comando "/ usr/bin/git aggiornamento sottomodulo "codice di stato restituito 1: stdout: stderr: fatale: autenticazione fallita –

+0

@PatrickClancey, merita una domanda di voto? :) – Sean

+1

Hai lo stesso protocollo specificato per il sottomodulo? Non clonare il repository con https: // ma usando git: // per il sottomodulo? – riezebosch

risposta

0

Provare a copiare la cartella /.shh nella directory principale di Jenkins.

0

Ho affrontato questo problema, con Jenkins Slave (eseguito come servizio di Windows). ho risolto schierando chiave Jenkins SSH nella .ssh directory dell'utente SYSTEM:

C:\Windows\SysWOW64\config\systemprofile\.ssh\ 

directory SYSTEM di casa varia a seconda della versione del sistema operativo e la configurazione. Per identificarlo basta echo env. var. %USERPROFILE%

1

versioni del plug-git Jenkins prima del 3.0.0 non supportano l'autenticazione modulo. L'autenticazione del submodule utilizzando le stesse credenziali e il protocollo del repository principale ora sono supportati con il plugin git Jenkins. Il supporto è stato aggiunto nella versione 10 settembre 2016 del plugin git per Jenkins 3.0.0.

La parte di configurazione del sottomodulo della pagina di definizione del lavoro ("Comportamenti aggiuntivi"> "Comportamenti dei sottomoduli avanzati") "include ora una casella di controllo" Utilizza credenziali dal remoto predefinito del repository principale ". Verificare che la casella e le credenziali di il repository principale verrà utilizzato per i sottomoduli

Si noti che i protocolli di clonazione dell'archivio devono essere uguali (ssh o https) per il repository principale e i sottomoduli, altrimenti le credenziali genitore non possono essere utilizzate con il repository del sottomodulo