Partager via


Tutoriel : Intégration continue de modèles ARM à Azure Pipelines

Dans le tutoriel précédent, vous déployez un modèle lié. Dans ce tutoriel, vous allez apprendre à utiliser Azure Pipelines pour créer et déployer en continu des projets de modèle Azure Resource Manager (modèle ARM).

Azure DevOps fournit des services de développement pour prendre en charge les équipes afin de planifier le travail, collaborer sur le développement de code, mais aussi générer et déployer des applications. Les développeurs peuvent travailler dans le cloud à l’aide d’Azure DevOps Services. Azure DevOps fournit un ensemble intégré de fonctionnalités auxquelles vous pouvez accéder via votre navigateur web ou votre client IDE. Azure Pipelines est l’une de ces fonctionnalités. Azure Pipelines est un service d’intégration continue (CI) et de livraison continue (CD) complet. Il fonctionne avec votre fournisseur Git préféré et peut être déployé sur la plupart des principaux services cloud. Vous pouvez ensuite automatiser la génération, le test et le déploiement de votre code sur Microsoft Azure, Google Cloud Platform ou Amazon Web Services.

Remarque

Choisissez un nom de projet. Lorsque vous parcourez le tutoriel, remplacez l’un des armPipelineProj par le nom de votre projet. Ce nom de projet est utilisé pour générer des noms de ressources. L’une des ressources est un compte de stockage. Ce nom doit comprendre entre 3 et 24 caractères, uniquement des lettres en minuscules et des nombres. Le nom doit être unique. Dans le modèle, le nom du compte de stockage est le nom du projet avec le magasin ajouté, et le nom du projet doit être compris entre 3 et 11 caractères. Par conséquent, le nom du projet doit répondre aux exigences de nom du compte de stockage et comporter moins de 11 caractères.

Ce tutoriel décrit les tâches suivantes :

  • Préparer un dépôt GitHub
  • créer un projet Azure DevOps ;
  • Créer un pipeline Azure
  • Vérifier le déploiement du pipeline
  • Mettre à jour le modèle et redéployer
  • Nettoyer les ressources

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Conditions préalables

Pour effectuer ce qui est décrit dans cet article, vous avez besoin des éléments suivants :

Préparer un dépôt GitHub

GitHub est utilisé pour stocker le code source de votre projet, y compris les modèles Resource Manager. Pour les autres référentiels pris en charge, consultez les référentiels pris en charge par Azure DevOps.

Créer un référentiel GitHub

Si vous n’avez pas de compte GitHub, consultez Conditions préalables.

  1. Connectez-vous à GitHub.

  2. Sélectionnez l’image de votre compte dans le coin supérieur droit, puis sélectionnez Vos dépôts.

    Capture d’écran de la création d’un dépôt GitHub pour Azure Resource Manager Azure DevOps Azure Pipelines.

  3. Sélectionnez Nouveau, un bouton vert.

  4. Dans le nom du référentiel, entrez un nom de référentiel. Par exemple, ARMPipeline-repo. N’oubliez pas de remplacer l’un des éléments ARMPipeline par le nom de votre projet. Vous pouvez sélectionner public ou privé pour suivre ce didacticiel. Puis sélectionnez Créer un dépôt.

  5. Notez l’URL. L’URL du référentiel est le format suivant : https://github.com/[YourAccountName]/[YourRepositoryName].

Ce référentiel est appelé référentiel distant. Chacun des développeurs du même projet peut cloner son propre dépôt local et fusionner les modifications apportées au référentiel distant.

Cloner le référentiel distant

  1. Ouvrez Git Shell ou Git Bash. Consultez les conditions préalables.

  2. Vérifiez que votre dossier actuel est GitHub.

  3. Exécutez la commande suivante:

    git clone https://github.com/[YourAccountName]/[YourGitHubRepositoryName]
    cd [YourGitHubRepositoryName]
    mkdir create_web_app
    cd create_web_app
    pwd
    

    Remplacez [YourAccountName] par le nom de votre compte GitHub et remplacez-le [YourGitHubRepositoryName] par le nom de votre dépôt que vous avez créé dans la procédure précédente.

Le dossier create_web_app est le dossier où le modèle est stocké. La pwd commande affiche le chemin du dossier. C’est dans ce chemin d’accès que vous enregistrerez le modèle lors de la procédure suivante.

Télécharger un modèle de démarrage rapide

Au lieu de créer les modèles, vous pouvez télécharger les modèles et les enregistrer dans le dossier create_web_app .

Les noms du dossier et des fichiers sont utilisés tels quels dans le pipeline. Si vous modifiez ces noms, vous devez mettre à jour les noms utilisés dans le pipeline.

Envoyer (push) le modèle vers le référentiel distant

Le azuredeploy.json a été ajouté au référentiel local. Ensuite, vous chargez le modèle dans le référentiel distant.

  1. Ouvrez Git Shell ou Git Bash, s’il n’est pas ouvert.

  2. Remplacez le répertoire par le dossier create_web_app dans votre référentiel local.

  3. Vérifiez que le fichier azuredeploy.json se trouve dans le dossier.

  4. Exécutez la commande suivante:

    git add .
    git commit -m "Add web app templates."
    git push origin main
    

    Vous pouvez obtenir un avertissement sur LF. Vous pouvez ignorer l’avertissement. principal est la branche principale. Vous créez généralement une branche pour chaque mise à jour. Pour simplifier le didacticiel, vous utilisez directement la branche principale.

  5. Accédez à votre dépôt GitHub à partir d’un navigateur. L’URL est https://github.com/[YourAccountName]/[YourGitHubRepository]. Vous verrez le dossier create_web_app et les deux fichiers à l’intérieur du dossier.

  6. Sélectionnez azuredeploy.json pour ouvrir le modèle.

  7. Sélectionnez le bouton Brut. L’URL commence par https://raw.githubusercontent.com.

  8. Effectuez une copie de l’URL. Vous devez fournir cette valeur lorsque vous configurez le pipeline plus loin dans le tutoriel.

Jusqu’à présent, vous avez créé un dépôt GitHub et chargé les modèles dans le référentiel.

Créer un projet DevOps

Une organisation DevOps est nécessaire avant de pouvoir passer à la procédure suivante. Si vous n’en avez pas, consultez Conditions préalables.

  1. Connectez-vous à Azure DevOps.

  2. Sélectionnez une organisation DevOps à partir de gauche, puis sélectionnez Nouveau projet. Si vous n’avez aucun projet, la page de création de projet est ouverte automatiquement.

  3. Saisissez les valeurs suivantes :

    Capture d’écran de la création d’un projet Azure DevOps pour Azure Resource Manager Azure DevOps Azure Pipelines.

    • Nom du projet : entrez un nom de projet. Vous pouvez utiliser le nom du projet que vous avez choisi au début du didacticiel.
    • Visibilité : sélectionnez Privé.

    Utilisez la valeur par défaut pour les autres propriétés.

  4. Sélectionnez Créer.

Créez une connexion de service utilisée pour déployer des projets sur Azure.

  1. Sélectionnez Les paramètres du projet en bas du menu de gauche.

  2. Sélectionnez Connexions de service sous Pipelines.

  3. Sélectionnez Créer une connexion de service, sélectionnez Azure Resource Manager, puis sélectionnez Suivant.

  4. Sélectionnez Service principal (automatique), puis sélectionnez Suivant.

  5. Saisissez les valeurs suivantes :

    • Niveau d’étendue : sélectionnez Abonnement.
    • Abonnement : sélectionnez votre abonnement.
    • Groupe de ressources : laissez-le vide.
    • Nom de la connexion : entrez un nom de connexion. Par exemple , ARMPipeline-conn. Notez ce nom, vous avez besoin du nom lorsque vous créez votre pipeline.
    • Accordez une autorisation d’accès à tous les pipelines. (sélectionné)
  6. Sélectionnez Enregistrer.

Créer une chaîne de traitement

Jusqu’à présent, vous avez effectué les tâches suivantes. Si vous ignorez les sections précédentes, car vous connaissez GitHub et DevOps, vous devez effectuer les tâches avant de continuer.

  • Créez un dépôt GitHub et enregistrez les modèles dans le dossier create_web_app dans le référentiel.
  • Créez un projet DevOps et créez une connexion de service Azure Resource Manager.

Pour créer un pipeline avec une étape pour déployer un modèle :

  1. Sélectionnez Pipelines dans le menu de gauche.

  2. Sélectionnez Créer un pipeline.

  3. Sous l’onglet Se connecter , sélectionnez GitHub. Si vous y êtes invité, entrez vos informations d’identification GitHub, puis suivez les instructions. Si vous voyez l’écran suivant, sélectionnez Sélectionner uniquement les référentiels, puis vérifiez que votre référentiel se trouve dans la liste avant de sélectionner Approuver et Installer.

    Capture d’écran de la sélection de référentiels pour Azure Resource Manager Azure DevOps Azure Pipelines.

  4. Sous l’onglet Sélectionner , sélectionnez votre référentiel. Le nom par défaut est [YourAccountName]/[YourGitHubRepositoryName].

  5. Sous l’onglet Configurer , sélectionnez Pipeline de démarrage. Il affiche le fichier de pipeline azure-pipelines.yml avec deux étapes de script.

  6. Supprimez les deux étapes de script du fichier .yml .

  7. Déplacez le curseur vers la ligne après les étapes suivantes :

  8. Sélectionnez Afficher l’Assistant à droite de l’écran pour ouvrir le volet Tâches .

  9. Sélectionnez Déploiement de modèle ARM.

  10. Saisissez les valeurs suivantes :

    • deploymentScope : sélectionnez groupe de ressources. Pour en savoir plus sur les étendues, consultez Étendues de déploiement.
    • Connexion Azure Resource Manager : sélectionnez le nom de connexion de service que vous avez créé précédemment.
    • Abonnement : spécifiez l’ID d’abonnement cible.
    • Action : sélectionnez l’action Créer ou mettre à jour le groupe de ressources effectue 2 actions - 1. créez un groupe de ressources si un nouveau nom de groupe de ressources est fourni ; 2. déployez le modèle spécifié.
    • Groupe de ressources : entrez un nouveau nom de groupe de ressources. Par exemple , ARMPipeline-rg.
    • Emplacement : sélectionnez un emplacement pour le groupe de ressources, par exemple, USA Centre.
    • Emplacement du modèle : sélectionnez l’URL du fichier, ce qui signifie que la tâche recherche le fichier de modèle à l’aide de l’URL. Étant donné que relativePath est utilisé dans le modèle principal et relativePath est uniquement pris en charge sur les déploiements basés sur l’URI, vous devez utiliser l’URL ici.
    • Lien de modèle : entrez l’URL que vous avez obtenue à la fin de la section Préparer un dépôt GitHub . Il commence par https://raw.githubusercontent.com.
    • Lien des paramètres du modèle : laissez ce champ vide. Vous allez spécifier les valeurs des paramètres dans les paramètres de modèle de remplacement.
    • Remplacer les paramètres du modèle : Entrez -projectName [EnterAProjectName].
    • Mode de déploiement : sélectionnez Incrémentiel.
    • Nom du déploiement : entrez DeployPipelineTemplate. Sélectionnez Avancé avant de voir le nom du déploiement.

    Capture d’écran de la page de déploiement de modèle ARM avec les valeurs requises entrées pour Azure DevOps Azure Pipelines.

  11. Sélectionnez Ajouter.

    Pour plus d’informations sur la tâche, consultez la tâche de déploiement de groupe de ressources Azure et la tâche de déploiement de modèle Azure Resource Manager

    Le fichier .yml doit être similaire à ce qui suit :

    Capture d’écran de la page de vérification avec le nouveau pipeline intitulé Passer en revue le fichier YAML de pipeline pour Azure Pipelines d’Azure DevOps.

  12. Sélectionnez Enregistrer et exécuter.

  13. Dans le volet Enregistrer et exécuter , sélectionnez Enregistrer et réexécuter . Une copie du fichier YAML est enregistrée dans le référentiel connecté. Vous pouvez voir le fichier YAML en accédant à votre référentiel.

  14. Vérifiez que le pipeline est exécuté avec succès.

    Capture d’écran du fichier YAML Azure Resource Manager Azure DevOps Azure Pipelines.

Vérifier le déploiement

  1. Connectez-vous au portail Azure.
  2. Ouvrez le groupe de ressources. Le nom est ce que vous avez spécifié dans le fichier YAML du pipeline. Vous verrez un compte de stockage créé. Le nom du compte de stockage commence par le magasin.
  3. Sélectionnez le nom du compte de stockage pour l’ouvrir.
  4. Sélectionnez Propriétés. Notez que la réplication est un stockage localement redondant (LRS).

Mettre à jour et redéployer

Lorsque vous mettez à jour le modèle et envoyez les modifications au référentiel distant, le pipeline met automatiquement à jour les ressources, le compte de stockage dans ce cas.

  1. Ouvrez linkedStorageAccount.json à partir de votre référentiel local dans Visual Studio Code ou dans n’importe quel éditeur de texte.

  2. Mettez à jour la valeur defaultValue de storageAccountType en Standard_GRS. Consultez la capture d’écran suivante :

    Capture d’écran de la mise à jour du fichier YAML pour Azure Resource Manager Azure DevOps Azure Pipelines.

  3. Enregistrez les modifications.

  4. Envoyez les modifications au référentiel distant en exécutant les commandes suivantes à partir de Git Bash/Shell.

    git pull origin main
    git add .
    git commit -m "Update the storage account type."
    git push origin main
    

    La première commande (pull) synchronise le référentiel local avec le référentiel distant. Le fichier YAML du pipeline a été ajouté uniquement au référentiel distant. L’exécution de la pull commande télécharge une copie du fichier YAML dans la branche locale.

    La quatrième commande (push) charge le fichier delinkedStorageAccount.json révisé dans le référentiel distant. Une fois la branche primaire du dépôt distant mise à jour, le pipeline est redéclenché.

Pour vérifier les modifications, vous pouvez vérifier la propriété réplication du compte de stockage. Consultez Vérifier le déploiement.

Nettoyer les ressources

Lorsque vous n’en avez plus besoin, nettoyez les ressources Azure que vous avez déployées en supprimant le groupe de ressources.

  1. Dans le portail Azure, sélectionnez Groupe de ressources dans le menu de gauche.
  2. Entrez le nom du groupe de ressources dans le champ Filtrer par nom .
  3. Sélectionnez le nom du groupe de ressources.
  4. Sélectionnez Supprimer le groupe de ressources dans le menu supérieur.

Vous pouvez également supprimer le dépôt GitHub et le projet Azure DevOps.

Étapes suivantes

Félicitations, vous avez terminé ce didacticiel de déploiement de modèle Resource Manager. Faites-nous savoir si vous avez des commentaires et des suggestions dans la section commentaires. Merci ! Vous êtes prêt à passer à des concepts plus élaborés sur les modèles. Le tutoriel suivant décrit plus en détail l’utilisation de la documentation de référence de modèle pour faciliter la définition des ressources à déployer.