wake-up-neo.com

wie löse ich das Problem mit dem Festplattenspeicher von Jenkins?

Ich habe Jenkins auf meiner CentOS-Maschine installiert, Jenkins hat drei Tage lang gut funktioniert, aber gestern gab es einen Festplattenspeicherplatz. Nur noch 1.019 GB verfügbar. ' Problem. 

Wie kann ich dieses Problem lösen, indem es meinen Master stundenlang offline macht?

25
Eason

Sie können den Schwellenwert einfach über die Jenkins-Benutzeroberfläche ändern (meine Version ist 1.651.3):

[jenkins nodes preventing monitoring page]


Update: So stellen Sie hohen Speicherplatz sicher

Diese Funktion soll verhindern, dass auf Slaves mit wenig freiem Speicherplatz gearbeitet wird. Das Herabsetzen des Schwellenwerts würde die Tatsache nicht lösen, dass einige Jobs nach dem Abschluss nicht ordnungsgemäß bereinigt werden.

Je nachdem, was Sie bauen:

  1. Stellen Sie sicher, dass Sie wissen, was die Datenträgerausgabe Ihres Builds ist, und beschränken Sie, falls möglich, die Ausgabe nur auf den Jobarbeitsbereich. Verwenden Sie workspace cleanup plugin , um den Arbeitsbereich als Post-Build-Schritt zu bereinigen.
  2. Wenn der Prozess Daten in externe Ordner schreiben muss, bereinigen Sie sie in den Post Build-Schritten manuell.

Alternative1 - Bereitstellung eines neuen Slaves pro Job (Spot-Slaves verwenden - es gibt viele Plugins, die sich mit verschiedenen Cloud-Providern integrieren lassen, um On-Demand-Systeme auf Anfrage bereitzustellen)

Alternative2 - führe den Build in einem Container aus. Alles wird verworfen, sobald der Build abgeschlossen ist

20
orshachar

Sie können die Reduzierung des Speicherplatzes begrenzen, indem Sie die alten Builds verwerfen. Dazu gibt es in der Projektkonfiguration ein Kontrollkästchen.

6
Guy Rixon

Neben den oben genannten Lösungen gibt es einen "gemeinsamen" Weg: Direktes Löschen des größten Speicherplatzverbrauchers von der Linux-Maschine Sie können den folgenden Schritten folgen:

  1. Anmelden bei Jenkins Maschine (PuTTY)
  2. cd zum Installationspfad von Jenkins

Mit ls -lart auch versteckte Ordner auflisten, normalerweise jenkin Die Installation befindet sich im Ordner .jenkins /

[xxxxx ~] $ ls -lart

drwxrwxr-x 12 xxxx 4096 8. Februar 02:08 .jenkins /

  1. listen Sie die Ordnerbereiche auf

Verwenden Sie df -h, um Speicherplatz auf hoher Ebene anzuzeigen

du -sh ./*/, um den gesamten Speicher für jeden Unterordner im aktuellen Pfad aufzulisten.

du -a /etc/ | sort -n -r | head -n 10 listet die Top 10 Verzeichnisse auf, die in/etc/Speicherplatz benötigen.

  1. Löschen Sie alte Build- oder andere große Ordner

 enter image description here

Normalerweise können ./job/ Ordner oder ./workspace/ Ordner der größte Ordner sein. Bitte gehen Sie rein und löschen Sie die Basis nach Ihrem Bedarf (NICHT den gesamten Ordner löschen.).

rm -rf theFolderToDelete

5
Kevin Li

Dies ist eigentlich eine legitime Frage, daher verstehe ich die Downvotes nicht, vielleicht gehört sie zu Superuser oder Serverfault. Dies ist ein Soft-Warnungsschwellenwert, bei dem der Speicherplatz der Festplatte nicht ausreicht.

Jenkins ist das Gleiche. Die Schlussfolgerung ist, dass für viele kleine Projekte der system property namens hudson.diagnosis.HudsonHomeDiskUsageChecker.freeSpaceThreshold verringert werden konnte.

Ich habe es nicht getestet und es gibt einen Haftungsausschluss

Keine Kompatibilitätsgarantie

Im Allgemeinen sind diese Schalter häufig experimenteller Natur und können ohne vorherige Ankündigung geändert werden. Wenn Sie einige davon für nützlich halten, melden Sie sich bitte bei der offiziellen Funktion an.

3
KCD

Ich habe das gleiche Problem. Meine Jenkins-Version ist 2.3 und ihre Benutzeroberfläche ist etwas anders. Wenn Sie es hier platzieren, kann es jemandem helfen. Durch Erhöhen der beiden Schwellenwerte für den Festplattenspeicher auf 5 GB wurde das Problem behoben.

 enter image description here

2
icSapper