Jenkins-Buildverlauf löschen (Build von gestern löschen)

Jenkins-Buildverlauf löschen (Build von gestern löschen)

Ich muss den Build-Verlauf von Jenkins löschen und bereinigen:Gestern-Vor 2 Tagen-Alle Builds. Wie kann ich das in Jenkins machen?

Antwort1

  • Löschen Sie einen Jenkins-Build über die GUI.

    Gehen Sie in den Build, den Sie löschen möchten, und klicken Sie auf die Schaltfläche in der oberen rechten Ecke.  Delete this build  

    Bildbeschreibung hier eingeben

  • Wenn Sie den Jenkins-Buildverlauf bereinigen und denBuild-NummerZurück zu 1. Sie können ein einfaches Skript in der Jenkins Script Console ausführen.Quelle

    1. Gehe zu JenkinsSkriptkonsole.

      Gehen Sie zu Ihrer Jenkins-Homepage ->Jenkins verwalten->Skriptkonsole.

      Bildbeschreibung hier eingeben

    2. Führen Sie dieses Skript zum Bereinigen und Zurücksetzen aus.

      Kopieren Sie dieses Skript, fügen Sie es in den Textbereich Ihres Konsolenskripts ein und ändern Sie es "copy_folder"in den Projektnamen, dessen Verlauf Sie löschen möchten. Klicken Sie dann aufLaufenTaste.

      def jobName = "copy_folder"  
      def job = Jenkins.instance.getItem(jobName)  
      job.getBuilds().each { it.delete() }  
      job.nextBuildNumber = 1   
      job.save()
      

      Wenn Sie eine Multibranch-Pipeline oder Ordner verwenden, muss die zweite Zeile des obigen Skripts wie folgt geändert werden:

      def jobName = "path/to/your/jenkins/pipeline/master"
      def job = Jenkins.getInstance().getItemByFullName(jobName, Job.class)
      

Eine andere Möglichkeit zum Entfernen alter Builds oder Jobs ist die Befehlszeile.

Melden Sie sich bei der Jenkins-Befehlszeile an.

Um einen gesamten Job zu entfernen und den Verlauf zu erstellen, entfernen Sie den Job-Ordner, z. B.:

rm -rf jobs/jobname

So zeigen Sie den Build-Verlauf an:

$ls jobs/jobname/builds

1409 1411 1413 1415 1417 1419 1421 1423 1425
923 963 974 985 letzter fehlgeschlagener Build letzter erfolgreicher Build  
letzter erfolgloser Build 1191 1334 1348 1379 1381 1383
1406 1408 1410 1412 1414 1416 1418 1420 1422 1424
913 962 973 978 987 letzter stabiler Build letzter instabiler Build
Legacy-IDs

Um ausgewählte Builds zu entfernen, entfernen Sie das Buildnummernverzeichnis, zB:

rm -rf jobs/jobname/builds/97* jobs/jobname/builds/13*

Vergessen Sie nicht den letzten Schrittbeim Entfernen oder Bearbeiten von Dateien unter Jenkins.

Nach dem Entfernen von Jobs oder Builds aus dem Dateisystem müssen Sie zuJenkins verwaltenin der Jenkins-GUI und klicken Sie aufKonfiguration von der Festplatte neu laden.

Hinweis: Das Jenkins-Stammverzeichnis kann sich an /var/jenkins_homeeinem /var/lib/jenkinsanderen Ort befinden.

Antwort2

Die obige Erklärung ist großartig. Sie behandelt die verschiedenen Möglichkeiten zum Bereinigen des Verlaufs, der Jobs usw.

Nur eine Idee, die auf dem oben Gesagten aufbaut: Umschließen Sie die Befehlszeilenanweisungen zum Entfernen mit einem Jenkins-Job und parametrisieren Sie die Build-Nummern, z. B. geben Sie eine CSV in einem Job-Parameter an und analysieren Sie sie im Shell-Skript, das dem Job zugeordnet ist, um die Ziel-Builds zu entfernen. Und/oder fügen Sie einen Kontrollkästchenparameter DELETE_ALL_BUILDS hinzu und aktivieren Sie ihn mit einer IF-Anweisung im Skript – wenn ausgewählt, entfernen Sie alle Builds. Sie können auch den Namen des Jobs parametrisieren, z. B. einen Parameter namens JOB_NAME angeben und den Wert im Skript interpolieren, z. B.:

rm -rf jobs/${JOB_NAME}/builds/${BUILD_NUM}*

Antwort3

Sie müssen ein Jenkins-Administrator sein, um diese Aufgabe auszuführen. Unten sehen Sie ein Beispiel für den Jenkins-Job 305.

  • Öffnen Sie Jenkins → wählen Sie den Zweig aus, den Sie löschen möchten → wählen Sie Build History
  • Option „Build History“ → Roten Kreis des fehlerhaften Builds auswählen (#305)
        Option „Build-Verlauf“
  • Jenkins-Jobfehler→ Wählen Sie „Build löschen“:
        Option „Build löschen“
  • Bestätigungsmeldung vor dem Löschen → Zum Löschen „Ja“ auswählen.
        Bestätigungsmeldung vor dem Löschen

Antwort4

# cd to your Jenkins install directory with the userid that has "permissions"

sudo bash     ( if you have to )

# My installation is like this, so go wherever you placed yours:

cd /reps/jenkins/home/jobs/TestPlaywrightSuite/builds 

# Touch these two files to exclude from the auto search below
#   but since these are regular files, they should be excluded from
#   the find command anyway
touch permalinks
touch legacyids

# find directories older than 7 days and delete on one command

find . -type d -mtime +7 -exec rm -rf {} \;

verwandte Informationen