TeamCity réunit de nombreuses fonctionnalités très utiles qui boostent vos builds. Ce tutoriel explore comment utiliser des exécuteurs spécifiques et pourquoi vous voudrez les utiliser.
Un outil d’exécution de build est une partie de TeamCity qui permet de l’intégrer avec un outil de build spécifique (Ant, MSBuild, Command Line, etc.). Un outil d’exécution de build fournit des paramètres qui spécifient les tâches de build à exécuter, la version de l'outil de build à utiliser, l'image Docker/Linux à utiliser comme conteneur, etc. Grâce à une configuration de build, un outil d’exécution de build permet de définir les modalités d’exécution d’un build et le rapport de ses résultats. TeamCity propose d’emblée de nombreux outils d’exécution de build, notamment .NET, Maven, Gradle, Docker, Python, Node.js et bien d'autres.
Nous allons ouvrir et modifier une configuration de build. Ici, nous avons une étape de build : une étape de build de ligne de commande. Le script traite les commandes suivantes :
cd
pour accéder à un répertoire de service de calculateur.mvn clean package
..jar
dans un compartiment S3 privé. Ici, nous allons nous débarrasser de l'étape mvn clean package
et utiliser les fonctionnalités propres à Maven de TeamCity pour cela. Nous pouvons simplement supprimer la ligne correspondante dans le script personnalisé et cliquer sur Save :
Ensuite, nous allons ajouter une nouvelle étape de build. TeamCity va suggérer un exécuteur spécifique :
Quelle que soit la technologie avec laquelle TeamCity doit s'intégrer, vous trouverez un exécuteur spécifique. Par exemple, si vous souhaitez créer des projets .NET, vous pouvez choisir un exécuteur .NET. Si vous souhaitez exécuter des scripts de ligne de commande, vous allez utiliser un exécuteur de ligne de commande. De même, vous utiliseriez un exécuteur Docker pour les étapes propres à Docker, un exécuteur Gradle pour les projets Gradle, etc.
Vous trouverez la liste complète des exécuteurs de build de TeamCity dans notre documentation.
Il s'agit d'un projet Maven, nous allons donc choisir Maven dans la liste déroulante. Ensuite, nous allons remplir une partie des champs que TeamCity propose à cette étape.
Notre fichier pom.xml
est enregistré dans le répertoire de service du calculateur, par conséquent nous allons choisir le dossier correct en cliquant sur l'icône d'arborescence. Dans la mesure où vous bénéficiez d'une vue arborescente claire de l'ensemble des répertoires, vous n'avez pas à saisir le nom du répertoire (ce qui écarte aussi les risques de fautes de frappe). Il vous suffit de sélectionner le répertoire dans la liste.
Vous pouvez exécuter l'étape mvn clean package
dans un conteneur Docker en fournissant un nom d'image Docker provenant du hub Docker, par exemple maven:latest
. TeamCity récupère cette image, l'utilise pour démarrer de façon transparente un conteneur Docker, y exécute votre commande de destination mvn clean package
, puis supprime le conteneur.
Pour poursuivre la configuration de l'étape manuelle de build, cliquez sur ce lien :
TeamCity permet de choisir un exécuteur de couverture spécifique. Par exemple, vous pouvez ajouter les exécuteurs de couverture de code IntelliJ IDEA ou JaCoCo, sans avoir à les coder de façon irréversible dans votre fichier pom.xml
.
Nous allons ajouter com.jetbrains.teamcity.*
en tant que nom de modèle de paquet. TeamCity va ensuite analyser les paquets dont les noms correspondent à ce modèle pour la couverture du code.
TeamCity permet également de configurer des options avancées. Par exemple, vous pouvez choisir différentes versions de projet Maven ou sélectionner une version Java spécifique pour exécuter l'ensemble du projet.
Avec toutes ces options d'interface utilisateur, vous n'avez pas à vous soucier du résultat de votre appel de commande. TeamCity s'en charge pour vous.
Maintenant, le script de ligne de commande s'exécute, ainsi que l'étape Maven qui le suit. Il est souhaitable de réorganiser nos étapes de build pour que mvn clean package
s'exécute en premier, puis que la ligne de commande procède à un chargement sur S3.
Ensuite, cliquez simplement sur Run, et tout devrait fonctionner comme prévu.
Une fois l'exécution du build terminée, vous pouvez accéder à sa page de présentation. Cette page comporte de nouveaux onglets, tels que Maven Build Info et Code Coverage, ainsi qu'une nouvelle section pour les résultats de Tests et Code Coverage.
Informations sur la build Maven
La page Maven build info comporte une vue d'ensemble des objectifs que vous avez exécutés, ainsi qu'une mention de la version Maven utilisée à cette fin. Vous verrez également les artefacts produits, tels que le fichier .jar
provenant de Maven.
Le rapport affiche également toutes les dépendances propres, ainsi que les versions que Maven a utilisées pour ce build. Cela vous donne une vue d'ensemble des bibliothèques formant votre build. Ces informations sont également utiles pour le débogage.
Vous verrez également tous les plugins Maven effectifs qui ont été activés au cours de ce build.
Page de vue d'ensemble du test
La page de vue d'ensemble du test, que vous obtenez gratuitement en utilisant l'exécuteur Maven, vous fournit de nombreuses informations utiles. Vous trouverez les informations suivantes dans le rapport :
Chaque test comporte également un historique qui vous donne toutes les informations essentielles. L'historique de test est utile si vous devez investiguer des problèmes du type « Pourquoi ce test a soudainement pris plus de temps ? Est-ce un test incertain ? » entre autres.
Nous verrons en détail les rapports de test dans cette vidéo.
Rapport de couverture de code
Le rapport de couverture du code nous fournit des informations sur les classes et les méthodes utilisées, ainsi que le pourcentage de code couvert par les tests.
Il ne vous reste plus qu'à sélectionner deux options de liste déroulante dans l'exécuteur de couverture de code d'IntelliJ IDEA pour obtenir tous ces rapports dans l'interface utilisateur de TeamCity.
C'est tout pour le moment ! Regardez les autres tutoriels pour apprendre comment utiliser les fonctionnalités propres à TeamCity, telles que des rapports de test ou de couverture du code.
Joyeux builds !
Ce tutoriel illustre comment utiliser TeamCity pour exécuter les scripts de ligne de commande qui sont à la base de vos pipelines de build.
Cette vidéo porte sur la configuration d'un build pour produire et charger des artefacts, l'exécution du build, puis le téléchargement des artefacts via l'interface de TeamCity.
Dans TeamCity, vous pouvez facilement obtenir les données de vos builds au moyen des artefacts. Ce tutoriel montre plus en détail comment travailler avec les artefacts dans TeamCity.