Créer votre premier pipeline
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Il s'agit d'un guide étape par étape sur l'utilisation d'Azure Pipelines pour créer un exemple d'application à partir d'un référentiel Git. Ce guide utilise des pipelines YAML configurés avec l’éditeur de pipeline YAML. Si vous préférez utiliser des pipelines classiques, consultez Définition d’un pipeline classique. Pour obtenir des conseils sur l'utilisation de TFVC, consultez Créer des référentiels TFVC.
Prérequis (Azure DevOps)
Vérifiez que vous disposez des éléments suivants :
Un compte GitHub dans lequel vous pouvez créer un référentiel. Créez-en un gratuitement.
Une organisation Azure DevOps. Créez-en un gratuitement. Si votre équipe en a déjà une, vérifiez que vous êtes bien un administrateur du projet Azure DevOps que vous souhaitez utiliser.
Possibilité d’exécuter des pipelines sur des agents hébergés par Microsoft. Pour utiliser des agents hébergés par Microsoft, votre organisation Azure DevOps doit avoir accès aux travaux parallèles hébergés par Microsoft. Vous pouvez acheter un travail parallèle ou demander des travaux gratuits.
Créer votre premier pipeline
Récupération de l’exemple de code Java
Pour commencer, dupliquez (fork) le référentiel suivant dans votre compte GitHub.
https://github.com/MicrosoftDocs/pipelines-java
Création d’un premier pipeline Java
Connectez-vous à votre organisation Azure DevOps et accédez à votre projet.
Accédez à Pipelines, puis sélectionnez Nouveau pipeline ou Création d’un pipeline si vous créez votre premier pipeline.
Effectuez les étapes de l’Assistant en sélectionnant d’abord GitHub comme emplacement du code source.
Vous serez peut-être redirigé vers GitHub pour vous connecter. Si c’est le cas, entrez vos informations d’identification GitHub.
Quand la liste des dépôts s’affiche, sélectionnez le vôtre.
Vous serez peut-être redirigé vers GitHub pour pouvoir installer l’application Azure Pipelines. Si c’est le cas, sélectionnez Approuver et installer.
Azure Pipelines analyse votre référentiel et recommande le modèle de pipeline Maven.
Quand votre nouveau pipeline s’affiche, examinez le code YAML pour voir ce qu’il fait. Lorsque vous êtes prêt, sélectionnez Enregistrer et exécuter.
Il vous est demandé de commiter un nouveau fichier
azure-pipelines.yml
dans votre référentiel. Dès que le message vous convient, sélectionnez à nouveau Enregistrer et exécuter.Si vous souhaitez voir votre pipeline en action, sélectionnez le travail de build.
Vous venez de créer et d’exécuter un pipeline créé automatiquement pour vous, car votre code semblait correspondre au modèle Maven.
Votre référentiel comprend maintenant un pipeline YAML (
azure-pipelines.yml
) opérationnel et prêt à être personnalisé !Dès que vous souhaitez commencer à apporter des modifications à votre pipeline, sélectionnez-le sur la page Pipelines, puis sélectionnez Modifier pour modifier le fichier
azure-pipelines.yml
.
Découvrez plus en détail comment utiliser Java dans votre pipeline.
Affichage et gestion des pipelines
Pour afficher et gérer vos pipelines, choisissez Pipelines dans le menu de gauche afin d’accéder à la page d’arrivée des pipelines.
Sur la page d’arrivée des pipelines, vous pouvez afficher les pipelines et les exécutions de pipeline, créer et importer des pipelines, gérer la sécurité et explorer les informations relatives aux pipelines et aux exécutions.
Choisissez Récent pour afficher les pipelines récemment exécutés (affichage par défaut), ou Tout pour voir tous les pipelines.
Sélectionnez un pipeline pour gérer ce pipeline et afficher les exécutions. Sélectionnez soit le numéro de build de la dernière exécution pour afficher les résultats de cette build, soit le nom de la branche pour afficher la branche dans le cadre de cette exécution, soit le menu contextuel pour exécuter le pipeline et effectuer d’autres actions de gestion.
Sélectionnez Exécutions pour afficher toutes les exécutions de pipeline. Vous pouvez éventuellement filtrer les exécutions affichées.
Sélectionnez une exécution de pipeline pour afficher les informations la concernant.
Vous pouvez choisir de Conserver ou de Supprimer une exécution dans le menu contextuel. Pour plus d’informations sur la rétention des exécutions, consultez Stratégies de rétention de build et de mise en production.
Détails du pipeline
La page d’informations d’un pipeline vous permet de l’afficher et de le gérer.
Choisissez Modifier pour modifier votre pipeline. Pour plus d’informations, consultez l’éditeur de pipeline YAML. Vous pouvez également modifier votre pipeline en modifiant le fichier azure-pipelines.yml directement dans le référentiel qui héberge le pipeline.
Afficher les détails de l’exécution du pipeline
Dans le résumé de l’exécution de pipeline, vous pouvez afficher l’état de votre exécution, à la fois pendant et après.
Dans le volet Résumé, vous pouvez afficher les informations relatives au travail et à la phase, télécharger des artefacts et accéder aux commits liés, aux résultats de test et aux éléments de travail.
Travaux et phases
Le volet Travaux affiche une vue d’ensemble de l’état de vos phases et travaux. Il peut comporter plusieurs onglets selon que votre pipeline comporte des phases et des travaux, ou seulement des travaux. Dans l’exemple suivant, le pipeline se compose de deux phases nommées Build et Deploy. Pour les explorer, choisissez le travail dans le volet Phases ou Travaux.
Choisissez un travail pour afficher ses étapes.
La vue Étapes permet de passer en revue l’état et le détail de chaque étape. Dans la section Plus d'actions, vous pouvez modifier l'horodatage ou afficher un journal brut de toutes les étapes du pipeline.
Annulation et réexécution d’un pipeline
Si le pipeline est en cours d’exécution, vous pouvez l’annuler en choisissant Annuler. Une fois l’exécution terminée, choisissez Exécuter nouveau si vous souhaitez réexécuter le pipeline.
Menu Autres actions de l’exécution de pipeline
Dans le menu Plus d'actions, vous pouvez télécharger des journaux, ajouter des balises, modifier le pipeline, supprimer l'exécution et configurer la rétention pour l'exécution.
Notes
Vous ne pouvez pas supprimer une exécution si elle est conservée. Si vous ne voyez pas l’option Supprimer, choisissez Arrêter la conservation de l’exécution, puis supprimez l’exécution. Si vous voyez à la fois Supprimer et Afficher les versions de rétention, une ou plusieurs stratégies de rétention configurées s’appliquent toujours à votre exécution. Choisissez Afficher les versions de rétention, supprimez les stratégies (seules les stratégies de l’exécution sélectionnée sont supprimées), puis supprimez l’exécution.
Ajout d’un badge d’état au référentiel
De nombreux développeurs aiment montrer qu’ils maintiennent la qualité de leur code à un niveau élevé en affichant un badge d’état dans leur dépôt.
Pour copier le badge d’état dans votre Presse-papiers, procédez comme suit :
Dans Azure Pipelines, accédez à la page Pipelines pour afficher la liste des pipelines. Sélectionnez le pipeline que vous avez créé dans la section précédente.
Sélectionnez , puis Badge d’état.
Sélectionnez Badge d’état.
Copiez l’exemple Markdown de la section Exemple Markdown.
Maintenant que le badge Markdown est copié dans votre Presse-papiers, procédez comme suit dans GitHub :
Accédez à la liste des fichiers et sélectionnez
Readme.md
. Sélectionnez l’icône en forme de crayon pour le modifier.Collez le badge d’état Markdown au début du fichier.
Commitez les modifications apportées à la branche
main
.Le badge d’état apparaît dans la description de votre référentiel.
Pour configurer l’accès anonyme aux badges dans les projets privés, procédez comme suit :
Accédez aux Paramètres du Projet dans le coin inférieur gauche de la page
Ouvrez l’onglet Paramètres sous Pipelines.
Basculez le curseur Désactiver l’accès anonyme aux badges sous Général.
Remarque
Même dans un projet privé, l’accès anonyme aux badges est activé par défaut. L’accès anonyme aux badges permet aux utilisateurs extérieurs à votre organisation de demander des informations (nom de projet, de branche, de travail, etc.) et de générer un état avec l’API de badge d’état.
Comme vous venez de modifier le fichier Readme.md
dans ce référentiel, Azure Pipelines génère automatiquement votre code, en fonction de la configuration du fichier azure-pipelines.yml
qui se trouve à la racine de votre référentiel. Revenez dans Azure Pipelines : une nouvelle exécution s’affiche. Chaque fois que vous apportez une modification, Azure Pipelines lance une nouvelle exécution.
Nous allons voir comment utiliser l’éditeur classique dans Azure DevOps Server 2019 pour créer une build et une mise en production qui imprime « Hello world ».
Prérequis
Initialisation du référentiel localement
Si votre projet comporte déjà un référentiel, vous pouvez passer à l’étape suivante, Ajout d’un script au référentiel.
Accédez à Azure Repos (le hub Code dans la navigation précédente).
Si votre projet est vide, un écran d’accueil vous aide à ajouter du code à votre référentiel. Choisissez l’option située en bas pour initialiser votre référentiel avec un fichier
readme
:
Accédez à Azure Repos.
Ajoutez un fichier.
Dans la boîte de dialogue, donnez un nom à votre nouveau fichier et créez-le.
HelloWorld.ps1
Copiez et collez ce script.
Write-Host "Hello world"
Commitez (enregistrez) le fichier.
Dans ce tutoriel, nous nous concentrons sur l’intégration continue et la livraison continue. C’est pourquoi nous nous en tenons à une partie code simple. Nous travaillons dans un référentiel Azure Repos Git directement dans votre navigateur web.
Dès que vous souhaiterez commencer à créer et déployer une application réelle, vous pourrez utiliser un large éventail de clients et de services de gestion de version avec les builds CI Azure Pipelines. Plus d’informations
Créer un pipeline de build
Créez un pipeline de build qui imprime « Hello world ».
Sélectionnez Azure Pipelines pour accéder automatiquement à la page Builds.
Créer un pipeline
Les nouveaux utilisateurs Azure DevOps sont automatiquement dirigés vers l’expérience de création de pipeline YAML. Pour accéder à l’éditeur classique et suivre ce guide, vous devez désactiver la fonctionnalité d’évaluation de l’expérience de création de pipeline YAML :
Assurez-vous que la source, le projet, le référentiel et la branche par défaut correspondent à l’emplacement dans lequel vous avez créé le script.
Partez d’un Travail vide.
Sur le côté gauche, sélectionnez Pipeline et spécifiez le Nom que vous souhaitez utiliser. Pour Pool d’agents, sélectionnez VS2017 hébergé.
Sur le côté gauche, sélectionnez le signe plus (+) pour ajouter une tâche au travail 1. Sur le côté droit, sélectionnez la catégorie Utilitaire, puis la tâche PowerShell dans la liste. Choisissez ensuite Ajouter.
Sur le côté gauche, sélectionnez votre nouvelle tâche de script PowerShell.
Pour l’argument Chemin du script, sélectionnez le bouton permettant de parcourir votre référentiel, puis le script que vous avez créé.
Sélectionnez Enregistrer et mettre en file d’attente, puis Enregistrer.
Un pipeline de build est l’entité qui permet de définir un pipeline de build automatisé. Dans le pipeline de build, vous composez un ensemble de tâches dont chacune effectue une étape de votre build. Le catalogue de tâches fournit un ensemble complet de tâches pour vous permettre de commencer. Vous pouvez également ajouter des scripts PowerShell ou shell à votre pipeline de build.
Publication d’un artefact à partir de la build
Une build classique produit un artefact qui peut ensuite être déployé sur différentes phases d’une mise en production. Pour illustrer simplement la fonctionnalité, nous nous contenterons ici de publier le script en tant qu’artefact.
Dans l’onglet Tâches, sélectionnez le signe plus (+) pour ajouter une tâche au travail 1.
Sélectionnez la catégorie Utilitaire, puis la tâche Publier les artefacts de build. Choisissez ensuite Ajouter.
Chemin de la publication : sélectionnez le bouton pour parcourir les fichiers et sélectionnez le script que vous avez créé.
Nom de l’artefact : entrez
drop
.Emplacement de publication des artefacts : sélectionnez Azure Artifacts/TFS.
Les artefacts sont les fichiers que la build devra produire. Ils représentent presque tout ce dont votre équipe a besoin pour tester et déployer votre application. Par exemple, parmi eux figurent des fichiers exécutables .DLL et .EXE, ainsi qu’un fichier de symboles .PDB d’une application .NET Windows C# ou C++.
Des outils vous sont fournis pour vous permettre de produire des artefacts, notamment la copie avec critères spéciaux et un répertoire intermédiaire dans lequel vous pouvez rassembler vos artefacts avant de les publier (cf. Artefacts dans Azure Pipelines).
Activation de l’intégration continue (CI)
Sélectionnez l’onglet Déclencheurs.
Activez Intégration continue.
Un déclencheur d’intégration continue sur un pipeline de build indique que le système doit automatiquement mettre en file d’attente une nouvelle build chaque fois qu’une modification de code est commitée. Vous pouvez rendre le déclencheur plus général ou plus spécifique, et également planifier votre build, par exemple la nuit (cf. Déclencheurs de build).
Enregistrement de la build et mise en file d’attente
Enregistrez manuellement la build, mettez-la en file d’attente et testez votre pipeline de build.
Sélectionnez Enregistrer et mettre en file d’attente, puis Enregistrer et mettre en file d’attente.
Dans la boîte de dialogue, sélectionnez de nouveau Enregistrer et mettre en file d’attente.
Cette action a pour effet de mettre en file d’attente une nouvelle build sur l’agent hébergé par Microsoft.
Le lien de la nouvelle build apparaît en haut de la page.
Sélectionnez le lien pour suivre le déroulement de la nouvelle build. Les journaux d’activité de la build commencent à apparaître une fois l’agent alloué. Le script PowerShell est exécuté dans le cadre de la build, et le message « Hello world » est imprimé dans la console.
Accédez au résumé de la build. Dans l’onglet Artefacts de la build, le script est publié en tant qu’artefact.
Ajout de variables et commit d’une modification du script
Nous allons passer certaines variables de build au script pour rendre notre pipeline un peu plus intéressant. Ensuite, nous commiterons une modification du script et regarderons le pipeline CI s’exécuter automatiquement pour valider la modification.
Modifiez votre pipeline de build.
Dans l’onglet Tâches, sélectionnez la tâche de script PowerShell.
Ajoutez les arguments suivants.
Arguments
-greeter "$(Build.RequestedFor)" -trigger "$(Build.Reason)"
Enfin, enregistrez le pipeline de build.
Vous allez maintenant ajouter les arguments à votre script.
Accédez à vos Fichiers dans Azure Repos (hub Code dans la navigation précédente et TFS).
Sélectionnez le fichier HelloWorld.ps1, puis sélectionnez Modifier pour modifier le fichier.
Modifiez le script comme suit :
Param( [string]$greeter, [string]$trigger ) Write-Host "Hello world" from $greeter Write-Host Trigger: $trigger
Commitez (enregistrez) le script.
Vous pouvez maintenant voir les résultats de vos modifications. Accédez à Azure Pipelines et sélectionnez En file d’attente. Sous la section En file d’attente ou en cours d’exécution, une build est automatiquement déclenchée par la modification que vous avez commitée.
Sélectionnez la nouvelle build et affichez son journal.
Le nom de la personne qui a modifié le code s’imprime dans le message d’accueil. Vous pouvez également constater qu’il s’agissait d’une build CI.
Nous venons au cours de ces étapes d’introduire le concept de variables de build. Nous avons imprimé la valeur d’une variable qui est automatiquement prédéfinie et initialisée par le système. Vous pouvez également définir des variables personnalisées et les utiliser dans des arguments de vos tâches ou comme variables d’environnement dans vos scripts. Pour plus d’informations sur les variables, consultez Variables de build.
Après la création du pipeline de build, Quelle est l’étape suivante ?
Vous avez créé un pipeline de build qui génère et valide automatiquement le code archivé par votre équipe. À ce stade, vous pouvez passer soit à la section suivante pour en savoir plus sur les pipelines de mise en production, soit directement à la création d’un pipeline de build pour votre application.
Créer un pipeline de mise en production
Définissez le processus d’exécution du script en deux phases.
Accédez à l’onglet Pipelines, puis sélectionnez Mises en production.
Sélectionnez l’action permettant de créer un Nouveau pipeline. S’il existe déjà un pipeline de mise en production, sélectionnez le signe plus (+), puis Créer un pipeline de mise en production.
Sélectionnez l’action permettant de partir d’un Travail vide.
Nommez la phase AQ.
Dans le panneau Artefacts, sélectionnez + Ajouter et spécifiez une Source (pipeline de build). Sélectionnez Ajouter.
Sélectionnez l’éclair pour déclencher le déploiement continu, puis activez le déclencheur de déploiement continu sur la droite.
Sélectionnez l’onglet Tâches, puis votre phase AQ.
Sélectionnez le signe plus (+) associé au travail pour ajouter une tâche au travail.
Dans la boîte de dialogue Ajouter des tâches, sélectionnez Utilitaire, recherchez la tâche PowerShell, puis sélectionnez son bouton Ajouter.
Sur le côté gauche, sélectionnez votre nouvelle tâche de script PowerShell.
Pour l’argument Chemin du script, sélectionnez le bouton permettant de parcourir vos artefacts, puis le script que vous avez créé.
Ajoutez les arguments suivants :
-greeter "$(Release.RequestedFor)" -trigger "$(Build.DefinitionName)"
Dans l’onglet Pipeline, sélectionnez la phase AQ, puis Cloner.
Renommez la phase clonée Production.
Renommez le pipeline de mise en production Hello world.
Enregistrez le pipeline de mise en production.
Un pipeline de mise en production consiste en une collection de phases sur lesquelles sont déployés les artefacts de build de l’application. Il définit également le pipeline de déploiement proprement dit de chaque phase, ainsi que la façon dont les artefacts sont promus d’une phase à l’autre.
Notez également que nous avons utilisé certaines variables dans nos arguments de script, en l’occurrence des variables de mise en production au lieu des variables de build du pipeline de build précédent.
Déploiement d’une mise en production
Exécutez le script à chaque phase.
Créez une mise en production.
Lorsque Créer une mise en production s’affiche, sélectionnez Créer.
Ouvrez la mise en production que vous avez créée.
Affichez les journaux pour obtenir des données en temps réel sur la mise en production.
Vous pouvez suivre la progression de chaque mise en production pour voir si elle a été déployée sur toutes les phases. Vous avez aussi la possibilité d’effectuer un suivi des commits qui font partie de chaque mise en production, des éléments de travail associés et des résultats des séries de tests que vous avez ajoutées au pipeline de mise en production.
Modification du code et déploiement automatique en production
Nous allons apporter une autre modification au script. Cette fois, il se générera automatiquement, puis sera déployé jusqu’en phase de production.
Accédez à l’onglet Fichiers du hub Code, puis modifiez le fichier HelloWorld.ps1 comme suit :
Param( [string]$greeter, [string]$trigger ) Write-Host "Hello world" from $greeter Write-Host Trigger: $trigger Write-Host "Now that you've got CI/CD, you can automatically deploy your app every time your team checks in code."
Commitez (enregistrez) le script.
Sélectionnez l’onglet Builds pour voir la mise en file d’attente et l’exécution de la build.
Une fois la build terminée, sélectionnez l’onglet Mises en production, ouvrez la nouvelle mise en production, puis accédez à Journaux.
Le nouveau code est déployé automatiquement dans la phase AQ, puis dans la phase Production.
Dans la plupart des cas, il est judicieux de modifier le pipeline de mise en production afin que le déploiement en production ne se produise qu’une fois les tests et les approbations en place (cf. Vue d’ensemble des approbations et des accès contrôlés).
Étapes suivantes
Vous avez appris à créer votre premier pipeline dans Azure. Maintenant, Apprenez-en plus sur la configuration des pipelines dans la langue de votre choix :
Vous pouvez également personnaliser le pipeline que vous avez créé.
Pour exécuter votre pipeline dans un conteneur, consultez Travaux de conteneur.
Pour plus d’informations sur la création de référentiels GitHub, consultez Création de référentiels GitHub.
Pour apprendre à publier vos artefacts de pipeline, consultez Publication d’artefacts de pipeline.
Pour savoir ce qu’il est possible de faire d’autre dans les pipelines YAML, consultez Informations de référence sur le schéma YAML.
Nettoyage
Si vous avez créé des pipelines de test, il est facile de les supprimer lorsque vous les avez terminés.
Pour supprimer un pipeline, accédez à la page de résumé associée, puis choisissez Supprimer dans le menu … situé en haut à droite de la page. Tapez le nom du pipeline pour confirmer, puis choisissez Supprimer.
Vous avez appris les principes de base de la création et de l’exécution d’un pipeline. Vous pouvez maintenant configurer votre pipeline de build pour le langage de programmation que vous utilisez. Créez un nouveau pipeline de build, cette fois selon l’un des modèles suivants.
Langage | Modèle à utiliser |
---|---|
.NET | ASP.NET |
.NET Core | ASP.NET Core |
C++ | Bureau .NET |
Go | Go |
Java | Gradle |
JavaScript | Node.js |
Xcode | Xcode |
Questions fréquentes (FAQ)
Où trouver des articles sur le DevOps ainsi que sur l’intégration continue et la livraison continue ?
Qu’est-ce que l’intégration continue ?
Qu’est-ce que la livraison continue ?
Quel système de gestion de version utiliser ?
Lorsque vous vous sentez à même de commencer à utiliser l’intégration continue et la livraison continue pour votre application, vous pouvez opter pour le système de gestion de version de votre choix :
Clients
Services
- Azure Pipelines
- Fournisseurs de services Git tels qu'Azure Repos Git, GitHub et Bitbucket Cloud
- Subversion
Clients
Services
- Azure Pipelines
- Fournisseurs de services Git tels que GitHub et Bitbucket Cloud
- Subversion
Comment répliquer un pipeline ?
Si vous souhaitez répliquer le modèle de votre pipeline dans d’autres pipelines, clonez-le, exportez-le ou enregistrez-le en tant que modèle.
Une fois que vous avez cloné le pipeline, vous pouvez y apporter des modifications, puis l’enregistrer.
Après avoir exporté un pipeline, vous avez la possibilité de l’importer dans l’onglet Tous les pipelines.
Les membres de votre équipe peuvent suivre le modèle créé dans de nouveaux pipelines.
Conseil
Si vous utilisez le Nouvel éditeur de build, vos modèles personnalisés s’affichent en bas de la liste.
Comment utiliser les brouillons ?
Si vous modifiez un pipeline de build et que vous souhaitez tester certaines modifications qui ne sont pas encore prêtes pour la production, vous pouvez l’enregistrer en tant que brouillon.
Vous pouvez si nécessaire modifier et tester votre brouillon.
Dès que vous le souhaitez, vous pouvez publier le brouillon pour fusionner les modifications dans votre pipeline de build.
Si vous décidez d’ignorer le brouillon, vous pouvez le supprimer dans l’onglet Tout le pipeline ci-dessus.
Comment supprimer un pipeline ?
Pour supprimer un pipeline, accédez à la page de résumé associée, puis choisissez Supprimer dans le menu … situé en haut à droite de la page. Tapez le nom du pipeline pour confirmer, puis choisissez Supprimer.
Les builds peuvent être mises en file d’attente automatiquement ou manuellement.
Lorsque vous mettez une build en file d’attente manuellement, vous pouvez, pour une seule exécution de celle-ci, effectuer les actions suivantes :
Spécifiez le pool dans lequel ira la build.
Ajoutez et modifiez certaines variables.
Ajoutez des demandes.
Effectuez les actions suivantes dans un référentiel Git :
Effectuez les actions suivantes dans un référentiel TFVC :
Spécifiez la version source sous forme d’étiquette ou d’ensemble de modifications.
Exécutez une build privée d’un jeu de réservations (cette option peut être utilisée sur un agent hébergé par Microsoft ou sur un agent autohébergé).
Les builds peuvent être mises en file d’attente automatiquement ou manuellement.
Lorsque vous mettez une build en file d’attente manuellement, vous pouvez, pour une seule exécution de celle-ci, effectuer les actions suivantes :
Où peut-on se renseigner sur les paramètres des pipelines ?
Pour plus d’informations sur les paramètres des pipelines, consultez les pages suivantes :
Comment créer programmatiquement un pipeline de build ?
Informations de référence sur l’API REST : Créer un pipeline de build
Remarque
Vous pouvez également gérer les builds et les pipelines de build en ligne de commande ou avec des scripts à l’aide de l’interface CLI Azure Pipelines.