2016-04-27 8 views
1

Kann ich mehrere haben Arbeitsbereich löschen, wenn Build fertig ist Ausführungen in einem einzigen Job?Hinzufügen mehrerer Arbeitsbereich Bereinigung für Jenkins

  • Statusfehler: Alle löschen Arbeitsplatz
  • Erfolgsstatus: klar nur Verzeichnisse Verteilungspaket (**/target/dist)

Wir brechen unsere baut in Zusammenstellung und Prüfaufgaben mit Build-Stalker Plugin, das die Verbindung zwischen beiden herstellt. Der Kompilierungsjob bereinigt sich nicht selbst, wie es beim Testjob der Fall ist, aber wir führen keinen Testjob für jeden Kompilierungsjob (nur den letzten in einem Zeitraum von 4 Stunden) aus, der verwaiste Arbeitsbereiche verlässt.

Ich möchte einen Weg, um die verwaisten Arbeitsbereiche weniger Auswirkungen haben und eine selektive statusbasierte Bereinigung ist eine Möglichkeit, dies zu tun.

Antwort

0

Mir ist kein Jenkins-Plugin bekannt, das eine solche Funktion bietet.

Ich würde etablieren folgende:

  • jede Lassen kompilieren baut eine Linie mit seinem Arbeitsbereich Pfad schreiben, zB:

    .../jenkins/workspace/<...compile job...>/

    durch ein Skript in einer Sprache Ihrer Verwendung Auswahl (bash, Groovy, cmd, ...) in eine Datei wie:

    .../jenkins/workspace/toBeWipedOut

  • einen Job erstellen, die ein Skript in einer Sprache Ihrer Wahl läuft regelmäßig, dass:

    • die Datei liest
    • löscht die dort genannten Arbeitsbereiche mit Ausnahme der letzten
    • entfernt alle Linien darin mit Ausnahme der letzten

oder

  • Lassen Sie jede kompilieren Build eine Zeile mit seinem Jobnamen schreiben.
  • Weitere Informationen zum Löschen von Arbeitsbereichen nach Auftragsnamen finden Sie unter Wipe out workspaces of all jobs.
+1

Richtig, das macht Sinn. Ich werde groovy verwenden, da es plattformübergreifend ein Kinderspiel macht. –

Verwandte Themen