Wie lassen sich die Artefakte von TeamCity-Builds begrenzen?

Um Festplattenplatz zu sparen und Leistungsprobleme zu vermeiden, können Sie die Artefakte begrenzen, die in bestimmten TeamCity-Builds und -Projekten gespeichert werden. Dazu stehen Ihnen drei gängige Methoden zur Verfügung:

  • Verpacken Sie mehrere Artefaktdateien in eine einzige Archivdatei.
  • Begrenzen Sie die Größe der Artefaktdateien und die Anzahl der Artefakte pro Build.
  • Konfigurieren Sie die automatische Bereinigung für nicht mehr benötigte Dateien.

Build-Artefakte in ein Archiv verpacken

TeamCity kann automatisch ein Archiv aus den Build-Artefakten erstellen, bevor diese veröffentlicht werden. Um dieses Verhalten zu konfigurieren, öffnen Sie die General Settings (Allgemeine Einstellungen) einer Build-Konfiguration und geben Sie unter Artifact paths die Artefaktpfade durch Zeilenumbrüche oder Kommas getrennt im folgenden Format an:

[+:|-:]quelle => ziel_archiv.* – dabei gilt:

  • [+:|-:]quelle – ein Pfad zu den Dateien oder Verzeichnissen, die als Build-Artefakte veröffentlicht (+:) oder von der Veröffentlichung ausgeschlossen (-:) werden sollen. Es wird empfohlen, Quellpfade relativ zum Build-Checkout-Verzeichnis anzugeben, aber auch absolute Pfade sind möglich.
  • ziel_archiv.* – ein Pfad zu einem Archiv, das TeamCity zum Verpacken von Artefakten erstellen soll, wobei .* für die Dateiendung des Archivs steht. Unterstützte Archivtypen sind zip, 7zip, jar, tar und tar.gz. Absolute Zielpfade sind nicht zulässig – geben Sie den Pfad relativ zum Build-Checkout-Verzeichnis an.

Um beispielsweise alle Dateien und Unterverzeichnisse, die im Verzeichnis verzeichnis_name gespeichert sind, im ZIP-Archiv archiv_name zu speichern, geben Sie im Feld Artifact paths Folgendes ein:

verzeichnis_name => archiv_name.zip

In diesem Dokumentationsartikel finden Sie weitere Informationen und Beispiele zur Konfiguration von Artefaktpfaden.

Größe und Anzahl der Artefaktdateien begrenzen

Sie können die maximal zulässige Größe einer Build-Artefakt-Datei sowie die maximale Anzahl von Artefakten pro Build global auf dem TeamCity-Server festlegen. Verwenden Sie dazu die entsprechenden Einstellungen im Abschnitt Build Settings des Menüs Administration | Global Settings.

Bereinigungsregeln definieren

Sie können TeamCity anweisen, alte und nicht mehr benötigte Artefakte einer bestimmten Build-Konfiguration automatisch zu löschen. Konfigurieren Sie dazu die Bereinigungsregeln unter Project Settings | Clean-up Rules:

  • Klicken Sie auf die Zeile Base rule (Basisregel) unterhalb der Build-Konfiguration, die Sie ändern möchten. Wenn die Basisregel-Zeile ausgeblendet ist, klicken Sie auf Show 1 inherited rule (jede Build-Konfiguration erbt standardmäßig eine Basisregel vom übergeordneten Projekt).
  • Wählen Sie im Popup-Dialog unter Clean artifacts die Option Custom policy aus und definieren Sie eine Regel zum Entfernen von Build-Artefakten. Zum Beispiel:
    • Artefakte aller Builds entfernen, die älter sind als der n-te erfolgreiche Build.
    • Artefakte aller Builds entfernen, die älter sind als n Tage seit dem letzten erfolgreichen Build.
    • Artefakte nach Namen entsprechend den angegebenen Mustern entfernen.

      Geben Sie im Feld Artifact patterns durch Zeilenumbrüche getrennte Muster für Artefaktnamen ein, um Artefakte zur Bereinigung hinzuzufügen oder auszuschließen. Zum Beispiel:

      • +:**/datei*.* – Entfernt Artefakte, deren Name „datei“ enthält.
      • -:**/datei*.jar – Schließt .jar-Artefakte mit „datei“ im Namen von der Bereinigung aus.
  • Im Abschnitt Dependencies des Basisregel-Dialogs können Sie angeben, ob Artefakte von Abhängigkeits-Builds, die Teil einer Kette sind, gelöscht oder erhalten werden sollen.