2015-04-13 16 views
21

Chúng tôi đang gặp git chậm lấy lệnh trên một cài đặt Jenkins trên Windows Server 2012. Tôi đã thử tất cả các giải pháp được nêu trong các chủ đề:Jenkins (Windows) rất chậm Git lấy

Bất cứ ai cũng có thể tìm ra giải pháp cho vấn đề này bằng cách sửa chữa vĩnh viễn?

điều khiển log ra từ Jenkins:

Bắt đầu bởi máy chủ từ xa

xây dựng trên tổng thể trong không gian làm việc F: \ Jenkins \ việc \ xxx \ workspace

> git.exe rev-phân tích cú pháp --is-inside-work-tree # timeout = 10

Tìm nạp thay đổi từ kho lưu trữ Git từ xa

> git.exe cấu hình remote.origin.url xhttp: // SCM/git/xxx # timeout = 10

Tìm nạp các thay đổi ở thượng nguồn từ xhttp: // SCM/git/xxx

> git.exe - -version # timeout = 10

sử dụng .gitcredentials để thiết lập thông tin

> git.exe cấu hình --local credential.helper cửa hàng --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/heads/: refs/điều khiển từ xa/gốc/

vấn đề ở đây: Các lệnh trên có thể kéo dài từ 30 giây đến 120 giây. Trên một máy dev địa phương phải mất một vài giây.

> git.exe cấu hình --local --remove phần chứng # timeout = 10

Version info:

Jenkins: 1,608 (mới nhất)

Windows: Máy chủ 2012

Git: 1.9.5 (mới nhất cho Windows xhttp: //git-scm.com/download/win)

Plugin Git Client cho Jenkins: 1.16.1 (mới nhất)

Git plugin for Jenkins: 2.3.5 (mới nhất)

Jenkins đang chạy như một người dùng miền mà có quyền truy cập quản trị trên máy chủ

+0

Bạn đã thử cài đặt lại git như đã đề cập [ở đây] [1] chưa? [1]: http://stackoverflow.com/a/4506192/779338 –

+0

Có tôi đã thử điều đó. Nó không giúp được gì. Tôi cũng áp dụng 3 tùy chọn cấu hình này mà không có may mắn: '$ git config --global core.preloadindex true' ' $ git config --global core.fscache true' '$ git config --global gc.auto 256' –

+0

Máy chủ của bạn có phải là một proxy khác với các máy cục bộ không? Đôi khi chúng tôi có vấn đề với proxy của chúng tôi quét tất cả các tập tin, mà mất một thời gian. – michaelbahr

Trả lời

9

Version 2.6.1 of the Git client for Windows khắc phục sự cố này. Bây giờ nó đang chạy nhanh quá!

Tôi đang sử dụng cmd git trong Jenkins từ:

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

+0

Cuối cùng! Điều này đã rối tung với tâm trí của tôi trong gần hai năm nay! – berkus

1

Cố gắng để cho phép một số cờ debug/hiệu suất GIT để nhận được thông tin thêm về nơi mà mọi thứ đều dành thời gian bên trong đường ống dẫn nước của nó, xem https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables. Ví dụ: export GIT_TRACE=1 và cũng thử GIT_TRACE_PERFORMANCE và GIT_TRACE_PACKET.

+3

Bất kỳ ý tưởng làm thế nào tôi sẽ cho phép những lá cờ với các plugin Jenkins Git, và làm thế nào để xem đầu ra của những lá cờ sau đó? –

1

Sử dụng hành vi nâng cao tạo bản sao và hãy bật hộp kiểm cho "Do không tìm nạp thẻ "nếu bạn không cần chúng. Git vẫn nên thanh toán chi nhánh/thẻ bạn chỉ định.