2017-08-30 4 views
0

Mein Java/Springboot Projekt Build ist sehr langsam über Jenkins mit Gradle Plugin. die unten Sie versuchen, wann Kasse manuell und versuchen:Gradle Build dauert zu lange durch Jenkins

gradle bauen

Bauen läuft sehr schnell! ca. 3 Minuten, sonst ca. 29 Minuten.

Der Build Schritt i über Jenkins tun eigentlich das gleiche ist,

enter image description here

Der SVN Code Kasse Teil ist schnell auf beiden Verfahren. Nur der Build-Teil ist langsam. Was könnte das Problem sein?

+0

sollten Sie die jenkins Protokoll Lage sein, zu überprüfen, was es zu diesem Zeitpunkt tut – DevDio

Antwort

0

Ich denke, dass die Antwort die Download-Zeit von Artefakten ist.

Wenn Sie 2 Builds ausführen, läuft der zweite schneller? Versuchen Sie, den GRADLE-Ordner von Ihrem lokalen Computer zu entfernen und zu erstellen. Wie viel Zeit hat es gedauert?

Verwenden Sie ein Artefakt-Repository - Artefakt/Nexus?

+0

Mit JFrog artifactory, Artefakt herunterladen trat nur einmal, auf der später im Cache baut (zusätzliche 15 Min zum ersten Mal) Jeder Build dauert fast die gleiche Zeit ~ 29 Minuten. –

+0

Verwenden Sie das Timestamp-Plugin? Es zeigt Ihnen, welche Aufgabe Sie diese Zeit verbringen. Also dauert der erste Build 45 Minuten und die zweiten 29 Minuten auf Jenkins Maschine? Und auf deinem Rechner sind es nur 3? Laufen Sie die gleiche Gradle Version? Und der gleiche Befehl? Kannst du den Build auf Jenkins-Slave manuell ausführen, um seine Dauer zu überprüfen? –

+0

Kein Timestamp-Plugin verwendet. zuerst in Jenkins bauen: 45 Minuten (zusätzliche Zeit für Artefakt-Download, die erwartet wird) Rest des Build: 29 Minuten. Auf dem gleichen Build-Server, auf dem gleichen Arbeitsplatz von jenkins, mit der gleichen Gradle-Version, über die Befehlszeile ~ 3 Minuten. –

0

Sie könnten das --profile-Argument der gradle-Befehlszeile hinzufügen, um einen Bericht an zu schreiben. Dadurch können Sie sehen, wo die ganze Zeit verbracht wird. Siehe profiling a build

+0

Das hat wirklich geholfen! : compileJava 8m59.97s : Test 8m38.40s : compileTestJava 6m52.34s : StartScripts 6m26.26s : distZip 3.820s. Sieht aus wie die Zeit ist für alle Aktivitäten! –

+0

Vielleicht befinden sich die Quelldateien auf einem anderen Computer als der Großrechner-Prozess, also alles, was im Netzwerk passiert (zB Netzlaufwerk)? Vielleicht ist die Heap-Größe zu klein und es ist die ganze Zeit GC? –