Tutoriel : Déployer une application avec intégration et déploiement continus sur un cluster Service Fabric
Quatrième d’une série, ce tutoriel explique comment configurer l’intégration et le déploiement continus d’une application Azure Service Fabric à l’aide d’Azure Pipelines. Une application Service Fabric existante est requise. L’application créée dans le didacticiel Générer une application .NET est utilisée à titre d’exemple.
Dans ce troisième volet, vous apprenez à :
- Ajouter le contrôle de code source à votre projet
- Créer un pipeline de build dans Azure Pipelines
- Créer un pipeline de mise en production dans Azure Pipelines
- Déployer et mettre à niveau une application automatiquement
Dans ces tutoriels, vous allez apprendre à :
Prérequis
Avant de commencer ce tutoriel :
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuit
- Installez Visual Studio 2019 et les charges de travail Développement Azure et Développement web et ASP.NET.
- Installez le Kit de développement logiciel (SDK) Service Fabric
- Créez un cluster Service Fabric Windows sur Azure, par exemple en suivant ce tutoriel
- Créez une organisation Azure DevOps. Une organisation vous permet de créer un projet dans Azure DevOps et d’utiliser Azure Pipelines.
Télécharger l’exemple d’application de vote
Si vous n’avez pas créé l’exemple d’application de vote lors de la première partie de cette série, vous pouvez le télécharger. Dans une fenêtre Commande, exécutez la commande suivante pour cloner le référentiel de l’exemple d’application sur votre ordinateur local.
git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart
Préparer un profil de publication
Maintenant que vous avez créé une application et déployé l’application dans Azure, vous êtes prêt à 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 Pipelines. 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. Sélectionnez le lien hypertexte Enregistrer pour enregistrer les paramètres dans le profil de publication, puis choisissez 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 source de votre application dans un projet Azure DevOps pour pouvoir générer des builds.
Créer un dépôt GitHub et un dépôt Azure DevOps à partir de l’IDE Visual Studio 2022 en sélectionnant Git -> Créer un dépôt Git dans le menu Git
Sélectionnez votre compte dans la liste déroulante et entrez le nom de votre dépôt, puis sélectionnez Créer et appuyer .
La publication du référentiel entraîne la création d’un projet dans votre compte Azure DevOps Services portant le même nom que le référentiel local dans votre compte.
Affichez le référentiel nouvellement créé en accédant à https://dev.azure.com/\<organizationname>, pointez la souris sur le nom de votre projet, puis sélectionnez l’icône Repos .
Configurer la livraison continue avec Azure Pipelines
Un pipeline de build Azure Pipelines décrit un flux de travail qui se compose d’un ensemble d’étapes de génération exécutées séquentiellement. Créez un pipeline 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 pipelines de build Azure Pipelines.
Un pipeline de mise en production Azure Pipelines décrit un flux de travail qui déploie un package d’application sur un cluster. Lorsqu’ils sont utilisés ensemble, le pipeline de build et le pipeline de mise en production exécutent le flux de travail dans son ensemble, depuis les fichiers source jusqu’à l’exécution de l’application dans votre cluster. Apprenez-en davantage sur les pipelines de mise en production Azure Pipelines.
Créer un pipeline de build
Ouvrez un navigateur web et accédez à votre nouveau projet à l’adresse : https://dev.azure.com/\<organizationname>/VotingSample
Sélectionnez l’onglet Pipelines , puis sélectionnez Créer un pipeline.
Sélectionnez Utiliser l’éditeur classique pour créer un pipeline sans YAML.
Sélectionnez la source Azure Repos Git, le projet d’équipe VotingSample, le dépôt VotingApplication et la branche par défaut maître pour les builds manuelles et planifiées. Sélectionnez Continuer.
Dans Sélectionner un modèle, sélectionnez le modèle Application Azure Service Fabric, puis cliquez sur Appliquer.
Dans Tâches, entrez « Azure Pipelines » comme pool d’agents et windows-2022 en tant que spécification de l’agent.
Sous Déclencheurs, activez l’intégration continue en cochant la case Activer l’intégration continue. Dans la zone Filtres de branche, la Spécification de branche est définie par défaut sur la valeur maître. Sélectionnez Enregistrer et mettre en file d’attente pour lancer une build manuellement.
Les builds sont également déclenchées par envoi (push) ou par archivage. Pour vérifier la progression de votre build, basculez sur l’onglet Builds. Une fois que vous avez vérifié que la build s’exécute correctement, définissez un pipeline de mise en production assurant le déploiement de votre application sur un cluster.
Créer un pipeline de mise en production
Sélectionnez l’onglet Pipelines, puis Versions et + 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 +Nouveau pour ajouter une nouvelle connexion de cluster.
Dans la vue Nouvelle connexion Service Fabric, sélectionnez l’authentification Basée sur les certificats ou des informations d’identification Microsoft Entra. Spécifiez le point de terminaison de cluster de tcp://mysftestcluster.southcentralus.cloudapp.azure.com:19000 » (ou le point de terminaison du cluster sur lequel vous effectuez 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.
Sélectionnez Enregistrer.
Ensuite, ajoutez un artefact de build au pipeline afin de permettre au pipeline 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 le pipeline de build que vous avez créé 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 choisissez Enregistrer pour enregistrer le pipeline de mise en production.
Sélectionnez Créer une version ->Créer pour créer manuellement une version. 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 à https://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/. Notez la version de l’application. Dans cet exemple, il s’agit de 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, Visual Studio effectue le suivi des modifications apportées au fichier dans la section Modifications de la fenêtre Modifications Git.
Dans la vue Modifications, ajoutez un message décrivant votre mise à jour, puis validez vos modifications.
Dans la fenêtre Modifications Git, sélectionnez le bouton Push (la flèche vers le haut) pour mettre à jour le code dans Azure Pipelines.
L’envoi (push) des modifications à Azure Pipelines déclenche automatiquement une build. Pour vérifier la progression de votre build, basculez vers l’onglet Pipelines dans https://dev.azure.com/organizationname/VotingSample.
Une fois la build terminée, une mise en production est créée automatiquement et commence la mise à niveau de l’application sur le 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 à https://mysftestcluster.southcentralus.cloudapp.azure.com:19080/Explorer/
. Notez la version de l’application. Dans cet exemple, il s’agit de 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 un pipeline de build
- Créer un pipeline de mise en production
- Déployer et mettre à niveau une application automatiquement
Passez au tutoriel suivant :