Exercice - Créer un pipeline CI pour IoT Edge avec Azure DevOps

Effectué

Créer des ressources Azure

Azure DevOps Projects crée un pipeline CI/CD dans Azure DevOps. Tout d’abord, vous devez créer des services cloud qui seront utilisés pour le module.

  1. Connectez-vous au portail Microsoft Azure.

  2. Sélectionnez le bouton Déployer sur Azure suivant. Le panneau Déploiement personnalisé s’affiche.

    Déployer dans Azure

  3. Sous l’onglet Informations de base, renseignez les valeurs suivantes pour chaque paramètre.

    Paramètre Valeur
    Étendue du déploiement
    Abonnement Sélectionnez votre abonnement
    Resource group Sélectionnez un nom dans la liste déroulante ou sélectionnez le lien Créer, puis dans la zone de texte Nom, entrez un nom.
    Paramètres
    Région Sélectionner la même région que votre groupe de ressources
    Suffixe du nom de la ressource Entrer une valeur globalement unique
  4. Sélectionnez Vérifier + créer, puis sélectionnez Créer pour déployer vos ressources sur Azure.

    Notes

    Si vous rencontrez des problèmes durant le déploiement, nous vous recommandons de supprimer le groupe de ressources créé (le cas échéant) et de réessayer avec une nouvelle valeur pour le paramètre Suffixe du nom de ressource.

  5. Une fois le déploiement terminé, sélectionnez Accéder au groupe de ressources pour passer en revue vos ressources.

Créer un projet Azure DevOps Project

  1. Si vous n’avez pas d’organisation Azure DevOps, suivez les étapes permettant d’en créer une gratuitement.

    1. Ouvrez Azure Pipelines et choisissez Démarrer gratuitement.
    2. Connectez-vous auprès de Microsoft.
    3. Donnez un nom à votre organisation et créez-la.
  2. Dans la page Azure DevOps, dans le coin supérieur droit, sélectionnez Nouveau projet. La page Créer un projet s’affiche.

  3. Dans la zone de texte Nom du projet, entrez un nom de projet.

  4. Dans la zone de texte Description, entrez le texte descriptif de votre nouveau projet.

  5. Sous Visibilité, sélectionnez privé ou public.

  6. Sélectionnez Create (Créer). La page d’accueil du projet s’affiche.

  7. Dans le volet du menu de gauche, sélectionnez Dépôt, puis dans la zone Importer un dépôt, sélectionnez Importer. Le volet Importer un dépôt Git s’affiche.

  8. Dans le champ URL clone, entrez cette URL, puis sélectionnez Importer.

    https://github.com/MicrosoftDocs/mslearn-oxford-implement-cicd-iot-edge.git
    

Créer un pipeline CI

Ce dépôt contient une définition de build Azure DevOps qui est préconfigurée pour générer la solution Edge incluse dans azure-pipelines.yml. Cette définition de build s’appuie sur un plug-in externe appelé Replace Tokens (Remplacer les jetons).

  1. Commencez par installer la tâche Replace Tokens à partir de Visual Studio Marketplace en accédant à ce lien, puis en sélectionnant Télécharger gratuitement. Ensuite, sélectionnez Installer pour installer le jeton dans l’organisation qui contient le projet Azure DevOps créé.

  2. Une fois cette tâche correctement installée, retournez au projet Azure DevOps et sélectionnez Dépôts>Fichiers. Sélectionnez l’icône d’édition pour modifier le fichier .azure-pipelines.yml.

  3. Ajoutez le commentaire suivant au début du fichier, comme indiqué ci-dessous.

    # This repository is built using Azure DevOps.
    

    Cette illustration montre comment modifier un pipeline Azure.

  4. Sélectionnez Valider pour valider le changement. Le volet Valider s’affiche. Sélectionner Valider.

  5. Revenez au panneau Fichiers.

  6. Dans le coin supérieur droit, sélectionnez Configurer la build, puis Exécuter. Vous devez voir qu’une build a été lancée quand la définition de build a été changée.

  7. Dans le volet du menu de gauche, sélectionnez Pipelines. Vous allez voir que la build est un échec. Cela est prévisible, car Azure DevOps crée la définition de build avec un nom contenant des espaces qui provoquent un conflit dans la tâche « Azure IoT Edge - Générer des images de module ».

  8. Pour résoudre ce problème, sélectionnez Pipelines. Le panneau Pipelines s’affiche.

  9. Dans les Pipelines récemment exécutés, cliquez à l’extrême droite sur les points de suspension verticaux de votre pipeline, puis sélectionnez Renommer/déplacer. La boîte de dialogue Renommer/déplacer le pipeline s’affiche. Dans la zone de texte Nom, renommez la définition de la build nouvellement créée afin qu’elle ne contienne pas d’espaces. Sélectionnez Enregistrer.

    L’illustration montre comment corriger l’échec de build.

Créer des variables de définition de build

  1. À présent, vous devez ajouter des variables de build afin d’exécuter correctement la génération. Vous devez obtenir :

    • Nom du serveur de connexion Azure Container Registry : acr.host
    • Un nom d’utilisateur Azure Container Registry sous la forme acr.user
    • Un mot de passe Azure Container Registry sous la forme acr.password
  2. Accédez au portail Azure, puis au groupe de ressources que vous avez créé pour ce module.

  3. Sélectionnez la ressource Container Registry.

  4. Dans le panneau du menu de gauche, sous Paramètres, sélectionnez Clés d’accès.

  5. Copiez le nom du registre, le serveur de connexion, le nom d’utilisateur et le mot de passe.

    L’illustration montre les clés d’accès de Container Registry.

  6. Obtenez la clé d’instrumentation d’Application Insights, qui est représentée par appinsights.instrumentationkey. Accédez au portail Azure, puis au groupe de ressources que vous avez créé pour ce module.

  7. Dans le volet du menu de gauche, sélectionnez Vue d’ensemble. Sous l’onglet Ressources, sélectionnez la ressource Application Insights.

  8. Dans la section Essentials, copiez la Clé d’instrumentation.

    L’illustration montre la clé d’instrumentation d’Application Insights.

  9. Revenez au projet Azure DevOps, puis accédez à Pipelines.

  10. Dans le pipeline que vous avez exécuté précédemment, sélectionnez les points de suspension verticaux les plus à droite, puis sélectionnez Modifier.

  11. En haut à droite, sélectionnez Variables. Le panneau Nouvelle variable s’affiche.

    L’illustration montre l’ajout de nouvelles variables au pipeline.

  12. Ajoutez les quatre variables acr.host, acr.user, acr.password et appinsights.instrumentationkey en utilisant les valeurs que vous avez copiées à partir du portail Azure. Sélectionnez OK après chaque entrée. Lorsque les quatre variables ont été entrées, sélectionnez Enregistrer, puis sélectionnez Exécuter. Le volet Exécuter le pipeline s’affiche. Sélectionnez Exécuter.

  13. Vous passez en revue l’état du pipeline en revenant à Pipelines. La build doit se dérouler correctement, comme indiqué ci-dessous.

    L’illustration montre une build réussie.

Appliquer une stratégie de branche

  1. Une fois qu’une définition de build réussie est en place, nous pouvons appliquer l’intégration continue en appliquant une stratégie de branche à la branche maîtresse. Dans le volet du menu de gauche, sélectionnez Dépôt, puis, dans le volet de gauche, sélectionnez Branches. Sélectionnez les points de suspension verticaux à l’extrémité gauche de la ligne de la branche principale, puis sélectionnez Stratégies de branche dans la liste déroulante.

  2. Au milieu du volet principal, sélectionnez Validation de build, puis sélectionnez l’icône + (Ajouter une nouvelle stratégie de build) et sélectionnez le pipeline de build nouvellement créé. Conservez toutes les valeurs par défaut, puis sélectionnez Enregistrer.

    L’illustration montre la stratégie de branche ajoutée pour le pipeline.

    Tant que cette stratégie est activée, tous les commits des branches de fonctionnalités lancent une exécution du pipeline de build qui vient d’être créé. Celle-ci doit réussir pour qu’une demande de tirage (pull request) de ces changements soit adressée à la branche maîtresse.