2015-04-13 24 views
21

Stiamo vivendo lenta git fetch comandi su un'installazione di Jenkins su Windows Server 2012. Ho provato tutte le soluzioni di cui in queste discussioni:Jenkins (Windows) molto lento git fetch

Chiunque è stato in grado di trovare una soluzione a questo problema con una correzione permanente?

registro di uscita della console da Jenkins:

Iniziato da host remoto

Sulla master in lavoro F: \ Jenkins \ lavori \ xxx \ workspace

> git.exe rev-parse --is-inside-lavoro-albero # timeout = 10

modifiche Recuperare dal repository Git remoto

> git.exe config remote.origin.url xhttp: // scm/git/xxx # timeout = 10

Recupero modifiche a monte da xhttp: // scm/git/xxx

> git.exe - -version # timeout = 10

utilizzando .gitcredentials per impostare le credenziali

> git.exe config --local credential.helper negozio --file = \ "C: \ Users \ APP_JE ~ 1 \ AppData \ Local \ Temp \ git7476037793811743133.credentials \ "# timeout = 10

> git.exe -c core.askpass = true fetch --tag s --progress xhttp: // scm/git/xxx + refs/teste/: refs/telecomandi/origine/

problema qui: Il comando precedente può durare tra 30 secondi a 120 secondi. In una macchina di sviluppo locale ci vogliono alcuni secondi.

> git.exe config --local --remove-sezione credenziali # timeout = 10

Versione Info:

Jenkins: 1.608 (più recente)

Windows: Server 2012

Git: 1.9.5 (l'ultimo per Windows xhttp: //git-scm.com/download/win)

plug-Git Client per Jenkins: 1.16.1 (ultima)

Git plug-in per Jenkins: 2.3.5 (ultima)

Jenkins è in esecuzione come utente di dominio che ha accesso di amministratore sul server

+0

Hai provato a reinstallare git come accennato [qui] [1]? [1]: http://stackoverflow.com/a/4506192/779338 –

+0

Si ho provato questo. Non aiuta Ho anche applicato queste 3 opzioni di configurazione senza fortuna: '$ git config --global core.preloadindex true' ' $ git config --global core.fscache true' '$ git config --global gc.auto 256' –

+0

È il server dietro un proxy diverso rispetto alle macchine locali? A volte abbiamo problemi con il nostro proxy che esegue la scansione di tutti i file, il che richiede del tempo. – michaelbahr

risposta

9

Version 2.6.1 of the Git client for Windows risolve questo problema. Ora sta funzionando incredibilmente veloce!

Sto usando il cmd git a Jenkins da:

C: \ Program Files \ Git \ cmd \ git.exe

+0

Finalmente! Questo mi ha fatto impazzire per quasi due anni! – berkus

1

tenta di attivare alcune delle bandiere di debug/prestazioni del GIT per maggiori informazioni su dove le cose stanno prendendo tempo all'interno della le sue tubature, vedi https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables. Ad esempio, export GIT_TRACE=1 e prova anche GIT_TRACE_PERFORMANCE e GIT_TRACE_PACKET.

+3

Qualche idea su come abilitare queste bandiere con il plugin Git Jenkins, e come vedere l'output di questi flag in seguito? –

1

utilizzare i comportamenti clone Avanzate e abilitare la casella di controllo per "Do non recuperare tag "se non ne hai bisogno. Git dovrebbe comunque eseguire il checkout del ramo/tag che hai specificato.