Comment travailler avec des règles d'artefacts

Ce tutoriel traite des règles d'artefacts dans TeamCity. Les règles d'artefacts sont simples, mais quelques nuances sont importantes.

Dans ce build, lorsque nous survolons l'icône d'artefact, deux artefacts sans structure de dossiers s'affichent : le fichier journal de l'application et un enregistrement Selenium .mp4.

tutorials-img

Dans la section Build Configuration settings | Artifact paths, nous pouvons voir que les deux artefacts proviennent d'un répertoire : calculator-service/artifacts/*.

tutorials-img

Différentes options permettent de spécifier les chemins des artefacts. Par exemple :

+:**/* => target_directory

-:directory1 => target_directory

demande à TeamCity de publier tous les fichiers sauf directory1 dans target_directory.

Dans notre exemple, nous demandons à TeamCity d'inclure tout ce qui se trouve dans le répertoire du calculateur, puis de le placer dans un dossier d'artefact, présent dans chaque build. Ce dossier peut être stocké dans Amazon S3 ou tout autre fournisseur de stockage.

Ces deux lignes sont équivalentes :

tutorials-img

Nous allons spécifier un autre chemin d'artefact. Au lieu d'inclure tout ce qui se trouve dans le sous-dossier artifacts, nous allons demander à TeamCity de déplacer les fichiers vers another_directory. Nous allons également exclure tous les fichiers .log de la copie dans le stockage.

tutorials-img

Dans la mesure où ces règles sont additives, nous demandons à TeamCity d'inclure tous les fichiers et de les déplacer vers un autre répertoire. De plus, nous demandons à TeamCity d'exclure les fichiers .log.

Pour conclure, ajoutons une autre règle :

+:calculator-service/**/application.log => hello_world/whatever.log

tutorials-img

Avec cette règle, nous demandons à TeamCity de prendre le journal d'application application.log de tous les sous-répertoires ** du répertoire calculator-service et de le placer dans le dossier hello_world. Nous demandons également à TeamCity de remplacer le nom du fichier application.log par whatever.log.

Une fois les modifications enregistrées et le build exécuté, nous constatons que les chemins de stockage des artefacts ont changé. Nous disposons à présent de plusieurs dossiers et sous-dossiers dans lesquels nos artefacts sont stockés :

tutorials-img

Ne manquez pas nos autres tutoriels sur la création de votre premier pipeline de build et l'envoi d'informations de build sur des plateformes externes, telles que Jira.

Joyeux builds !

Pour en savoir plus, consultez notre documentation sur les dépendances d'artefact de TeamCity.

Découvrez ce qu'est un référentiel d'artefacts dans le guide CI/CD de TeamCity.