Comment limiter les artefacts des builds TeamCity ?

Pour économiser de l'espace disque et éviter des problèmes de performance, vous pouvez limiter le nombre d'artefacts stockés dans des builds et des projets TeamCity spécifiques. Il existe principalement trois moyens pour cela :

  • Regrouper plusieurs fichiers d'artefacts dans une même archive.
  • Limiter la taille des fichiers d'artefacts et le nombre d'artefacts par build.
  • Configurer le nettoyage automatique des fichiers inutiles.

Regrouper des artefacts de build dans une archive

TeamCity peut créer automatiquement une archive à partir des artefacts de build avant de les publier. Pour configurer ce comportement, ouvrez les paramètres généraux en cliquant sur General Settings d'une configuration de build et spécifiez les chemins d'accès aux artefacts dans le champ artifact paths (schémas séparés par de nouvelles lignes ou des virgules) au format suivant :

[+:|-:]source => archive_cible.*, où :

  • [+:|-:]source désigne un chemin vers les fichiers ou les répertoires à publier en tant qu'artefacts de build (+:) ou à exclure de la publication(-:). Il est recommandé d'utiliser des chemins de source relatifs au répertoire de vérification de la build, bien que les chemins absolus soient également pris en charge.
  • archive_cible.* désigne un chemin vers une archive que TeamCity doit créer pour empaqueter les artefacts, où .* est l'extension de l'archive. Les types d'archives pris en charge sont zip, 7zip, jar, tar et tar.gz. Un chemin cible ne peut pas être absolu. Il doit être relatif au répertoire de vérification de la build.

Par exemple, pour empaqueter tous les fichiers et sous-répertoires stockés dans le répertoire nom_répertoire dans l'archive ZIP nom_archive, saisissez ce qui suit dans le champ Artifact paths :

nom_répertoire => nom_archive.zip

Consultez cet article de documentation pour plus de détails et d'exemples sur la configuration des chemins d'accès aux artefacts.

Limiter la taille et le nombre de fichiers d'artefacts

Vous pouvez spécifier la taille maximale autorisée d'un fichier d'artefact de build et le nombre maximal d'artefacts par build globalement sur le serveur TeamCity. Pour cela, utilisez les paramètres correspondants dans la section Build Settings sous Administration | Global Settings.

Définir des règles de nettoyage

Vous pouvez demander à TeamCity de supprimer automatiquement les artefacts anciens et inutiles d'une configuration de build donnée. Pour ce faire, configurez des règles de nettoyage dans Project Settings | Clean-up Rules :

  • Cliquez sur la ligne Base rule sous la configuration de build que vous souhaitez modifier. Si la ligne de la règle de base est masquée, cliquez sur Show 1 inherited rule (chaque configuration de build hérite par défaut d'une règle de base de son projet parent).
  • Dans la section Clean artifacts de la boîte de dialogue contextuelle, sélectionnez l'option Custom policy et spécifiez une règle pour supprimer les artefacts de build. Par exemple :
    • Supprime les artefacts de toutes les builds plus anciennes que la n-ième build réussie.
    • Supprime les artefacts de toutes les builds qui sont plus anciennes que n jours depuis la dernière build réussie.
    • Supprime les artefacts par noms selon les schémas spécifiés.

      Dans le champ Artifact patterns, indiquez des schémas de noms d'artefacts séparés par de nouvelles lignes pour ajouter ou exclure les artefacts correspondants du nettoyage. Par exemple :

      • +:**/fichier*.* supprime les artefacts dont le nom contient « fichier ».
      • -:**/fichier*.jar exclut les artefacts .jar dont le nom contient « fichier » du nettoyage.
  • Dans la section Dependencies de la boîte de dialogue de la règle de base, vous pouvez indiquer s'il faut supprimer ou préserver les artefacts des builds de dépendances qui font partie d'une chaîne.