Tutoriel : Déployer une application conteneur avec intégration et déploiement continus sur un cluster Service Fabric
Deuxième d’une série, ce tutoriel explique comment configurer l’intégration et le déploiement continus d’une application conteneur Azure Service Fabric à l’aide de Visual Studio et d’Azure DevOps. Une application Service Fabric existante est requise. L’application créée dans Déployer une application .NET dans un conteneur Windows sur Azure Service Fabric est utilisée à titre d’exemple.
Dans ce deuxième volet, vous apprenez à :
- Ajouter le contrôle de code source à votre projet
- Créer une définition de build dans Visual Studio Team Explorer
- Créer une définition de mise en production dans Visual Studio Team Explorer
- Déployer et mettre à niveau une application automatiquement
Prérequis
Avant de commencer ce tutoriel :
- disposer d’un cluster sur Azure, ou en créer un avec ce didacticiel ;
- y déployer une application en conteneur.
Préparer un profil de publication
Maintenant que vous avez déployé une application conteneur, vous pouvez configurer l’intégration continue. Tout d’abord, préparez au sein de votre application un profil de publication destiné au processus de déploiement qui s’exécute dans Azure DevOps. Le profil de publication doit être configuré pour cibler le cluster que vous avez précédemment créé. Démarrez Visual Studio et ouvrez un projet d’application Service Fabric existant. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur l’application, puis sélectionnez Publier... .
Choisissez au sein de votre projet d’application un profil cible à utiliser pour votre flux de travail d’intégration continue (Cloud, par exemple). Spécifiez le point de terminaison de connexion du cluster. Cochez la case Mettre à niveau l’application pour que votre application soit mise à niveau pour chaque déploiement dans Azure DevOps. Cliquez sur le lien hypertexte Enregistrer pour enregistrer les paramètres dans le profil de publication, puis cliquez sur Annuler pour fermer la boîte de dialogue.
Partager votre solution Visual Studio dans un nouveau référentiel Git Azure DevOps
Partagez les fichiers sources de votre application dans un projet d’équipe Azure DevOps afin de pouvoir générer des builds.
Créez un dépôt Git local pour votre projet en sélectionnant Ajouter au contrôle de code source ->Git dans la barre d’état située dans le coin inférieur droit de Visual Studio.
Dans la vue Envoi (push) de Team Explorer, sélectionnez le bouton Publier le référentiel Git sous Push sur Azure DevOps.
Vérifiez votre adresse e-mail et sélectionnez votre organisation dans la liste déroulante Compte. Vous aurez peut-être à configurer une organisation si vous n’en avez pas déjà une. Entrez le nom de votre dépôt et sélectionnez Publier le dépôt.
La publication du référentiel entraîne la création d’un projet d’équipe portant le même nom que le référentiel local dans votre compte. Pour créer le référentiel dans un projet d’équipe existant, cliquez sur Avancé à côté du Nom du référentiel et sélectionnez un projet d’équipe. Vous pouvez afficher votre code sur le web en sélectionnant See it on the web (Visualiser sur le web).
Configurer la livraison continue avec Azure Pipelines
Une définition de build Azure DevOps décrit un workflow qui se compose d’un ensemble d’étapes de génération exécutées séquentiellement. Créez une définition de build qui produit un package d’application Service Fabric et les autres artefacts à déployer sur un cluster Service Fabric. En savoir plus sur les définitions de build Azure DevOps
Une définition de mise en production Azure DevOps décrit un workflow qui déploie un package d’application sur un cluster. Lorsqu’elles sont utilisées ensemble, la définition de version et la définition de génération exécutent le flux de travail dans son ensemble, depuis le déploiement des fichiers source jusqu’à l’exécution de l’application dans votre cluster. En savoir plus sur les définitions de mise en production Azure DevOps
Créer une définition de build
Pour ouvrir votre nouveau projet d’équipe, accédez à https://dev.azure.com dans un navigateur web, puis sélectionnez votre organisation et votre nouveau projet.
Sélectionnez l’option Pipelines dans le volet gauche, puis cliquez sur Nouveau pipeline.
Notes
Si vous ne voyez pas le modèle de définition de build, assurez-vous que la fonctionnalité Nouvelle expérience de création de pipeline YAML soit désactivée. Cette fonctionnalité est configurée dans la section Fonctionnalités préliminaires de votre compte de DevOps.
Sélectionnez la source Azure Repos Git, votre projet d’équipe, le dépôt de votre projet, puis la branche par défaut master pour les builds manuelles et planifiées. Puis, cliquez sur Continuer.
Dans Sélectionner un modèle, sélectionnez le modèle Application Azure Service Fabric avec prise en charge Docker et cliquez sur Appliquer.
Dans Tâches, sélectionnez Hébergée VS2017 pour Pool d’agents.
Cliquez sur Images Tag.
Dans Type de registre de conteneurs, sélectionnez Azure Container Registry. Sélectionnez un Abonnement Azure, puis cliquez sur Autoriser. Sélectionnez un service Azure Container Registry.
Cliquez sur Images Push.
Dans Type de registre de conteneurs, sélectionnez Azure Container Registry. Sélectionnez un Abonnement Azure, puis cliquez sur Autoriser. Sélectionnez un service Azure Container Registry.
Sous l’onglet Déclencheurs, activez l’intégration continue en cochant la case Activer l’intégration continue. Dans la zone Filtres de branche, cliquez sur + Ajouter, et la zone Spécification de branche est alors définie par défaut sur la valeur maître.
Dans la boîte de dialogue Enregistrer le pipeline de build et mettre en file d’attente, cliquez sur Enregistrer et mettre en file d’attente pour lancer un build manuellement.
Les builds sont également déclenchées par envoi (push) ou par archivage. Pour vérifier la progression de votre build, basculez vers l’onglet Builds. Une fois que vous avez vérifié que la build s’exécute correctement, définissez une définition de mise en production assurant le déploiement de votre application sur un cluster.
Création d’une définition de version
Sélectionnez l’option Pipelines dans le volet gauche, cliquez sur Versions, puis sur +Nouveau pipeline. Sous Sélectionner un modèle, sélectionnez le modèle Déploiement Azure Service Fabric dans la liste, puis Appliquer.
Sélectionnez Tâches, puis Environnement 1 et + Nouveau pour ajouter une nouvelle connexion de cluster.
Dans la vue Ajouter une nouvelle connexion Service Fabric, sélectionnez l’authentification Basée sur les certificats ou Microsoft Entra ID. Spécifiez le nom de connexion « mysftestcluster » et le point de terminaison de cluster « tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000 » (ou celui du cluster sur lequel porte le déploiement).
Pour l’authentification basée sur les certificats, ajoutez l’empreinte du certificat de serveur utilisé pour créer le cluster. Dans Certificat client, ajoutez le codage en base 64 du fichier de certificat client. Consultez la fenêtre contextuelle d’aide de ce champ pour savoir comment obtenir cette représentation codée en base 64 du certificat. Ajoutez également le Mot de passe du certificat. Vous pouvez utiliser le certificat de serveur ou de cluster si vous ne disposez pas d’un certificat client distinct.
Dans les informations d’identification de Microsoft Entra, ajoutez l’empreinte du certificat de serveur utilisé pour créer le cluster et les informations d’identification à utiliser pour se connecter au cluster dans les champs Nom d’utilisateur et Mot de passe.
Cliquez sur Ajouter pour enregistrer la connexion du cluster.
Sous Phase de l’agent, cliquez sur Déployer une application Service Fabric. Cliquez sur Paramètres Docker, puis sur Configurer les paramètres Docker. Dans Source d’informations d’identification du Registre, sélectionnez Connexion au service Azure Resource Manager. Ensuite, sélectionnez votre abonnement Azure.
Ensuite, ajoutez un artefact de build au pipeline afin de permettre à la définition de mise en production de trouver la sortie de la build. Sélectionnez Pipeline et Artefacts->+ Ajouter. Dans Source (définition de build), sélectionnez la définition de build que vous avez créée précédemment. Cliquez sur Ajouter pour enregistrer l’artefact de la build.
Activez un déclencheur de déploiement continu afin qu’une version soit créée automatiquement à la fin de la génération. Cliquez sur l’icône en forme d’éclair de l’artefact, activez le déclencheur, puis cliquez sur Enregistrer pour enregistrer la définition de mise en production.
Sélectionnez + Mise en production ->Créer une mise en production ->Créer pour créer manuellement une mise en production. Vous pouvez surveiller la progression de la mise en production dans l’onglet Mises en production.
Vérifiez que le déploiement a réussi et que l’application est en cours d’exécution dans le cluster. Ouvrez un navigateur web et accédez à http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/
. Notez la version de l’application. Dans cet exemple, il s’agit de la version 1.0.0.20170616.3.
Valider et envoyer les modifications, déclencher une mise en production
Vérifiez que le pipeline d’intégration continue fonctionne en archivant certaines modifications de code dans Azure DevOps.
Lorsque vous écrivez votre code, vos modifications sont suivies automatiquement par Visual Studio. Validez les modifications dans votre référentiel Git local en sélectionnant l’icône de modifications en attente () dans la barre d’état située en bas à droite.
Dans la vue Modifications de Team Explorer, ajoutez un message décrivant votre mise à jour, puis validez vos modifications.
Sélectionnez l’icône des modifications non publiées () dans la barre d’état ou la vue Synchronisation de Team Explorer. Sélectionnez Envoi (push) pour mettre à jour votre code dans Azure DevOps.
L’envoi (push) des modifications à Azure DevOps déclenche automatiquement une build. Une fois la définition de build terminée, une mise en production est créée automatiquement et commence la mise à niveau de l’application sur le cluster.
Pour vérifier la progression de votre build, basculez vers l’onglet Builds de Team Explorer dans Visual Studio. Une fois que vous avez vérifié que la build s’exécute correctement, spécifiez une définition de mise en production assurant le déploiement de votre application sur un cluster.
Vérifiez que le déploiement a réussi et que l’application est en cours d’exécution dans le cluster. Ouvrez un navigateur web et accédez à http://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/
. Notez la version de l’application. Dans cet exemple, il s’agit de la version 1.0.0.20170815.3.
Mettre à jour l’application
Apportez des modifications au code de l’application. Enregistrez et validez les modifications en suivant les étapes décrites précédemment.
Une fois que la mise à niveau de l’application a commencé, vous pouvez suivre la progression dans Service Fabric Explorer :
La mise à niveau de l’application peut prendre plusieurs minutes. Une fois la mise à niveau terminée, l’application exécute la version suivante. Dans cet exemple, 1.0.0.20170815.4.
Étapes suivantes
Dans ce didacticiel, vous avez appris à :
- Ajouter le contrôle de code source à votre projet
- Créer une définition de build
- Création d’une définition de version
- Déployer et mettre à niveau une application automatiquement
Dans la partie suivante du didacticiel, vous apprendrez à configurer la surveillance pour votre conteneur.