Intégration et déploiement continu avec Azure Service Fabric

Nous allons maintenant détailler la mise en place de VSTS  (Azure DevOps), notre outil ALM, pour notre projet Service Fabric.

Intégrations

Premier besoin, un outil de gestion de version. J’ai utilisé Git et le pattern d’utilisation GitFlow pour la gestion des branches. Ce pattern propose une façon d’utiliser Git. Pour mes besoins je n’ai utilisé que les branche Develop et Master.

15 1 - Intégration et déploiement continu avec Azure Service Fabric

J’ai donc créé un projet sur VSTS. il faut ensuite utiliser l’URL du dépôt pour s’y connecter depuis Team Services de Visual Studio et pousser son code.
J’ai ensuite configuré mon build à partir du template Azure Service Fabric :

14 1 1024x701 - Intégration et déploiement continu avec Azure Service Fabric

En exécution ça donne ça :

13 1 1024x549 - Intégration et déploiement continu avec Azure Service Fabric
Déploiements

Pour le déploiement vers notre environnement Cloud Service Fabric c’est très simple, une seule étape VSTS suffit :

11 1 - Intégration et déploiement continu avec Azure Service Fabric

Bien sur dans un vrai contexte projet le pipeline sera plus fournis, avec de multiples environnement : dev, qualification, intégration, pre-production …

Pour la configuration de ma tache de déploiement, il faudra configurer correctement la section Cluster Connexion qui fera le lien entre VSTS et ma plateforme Azure :

9 1 - Intégration et déploiement continu avec Azure Service Fabric

Les informations demandées par cet écran sont expliquées par les infobulle. Si vous n’avez pas associé de mot de passe à votre certificat, laissez le champ vide.

Pendant l’étape de déploiement de notre projet Service Fabric, l’Explorer affichera également des informations sur le déploiement :

8 - Intégration et déploiement continu avec Azure Service Fabric

La mise à jour se fait sans interruption de service puisque le déploiement se fait par nœud. A un instant T du déploiement il y aura donc deux versions de votre application en exécution simultanée. A chaque mise à jour de nœuds, Azure Service Fabric réalise des tests pour vérifier que votre installation s’est bien passée. Si l’update à échoué, un rollback vers la précédente version est automatiquement réalisé.

Pour une gestion plus poussée des montée de version, on pourra mettre en place le « Blue / Green Deployment » qui nous permettra de valider la version à jour de notre service (par des tests sur l’interface swagger par exemple) sur un nœud précis avant de la déployer sur les autres.

Pour aller plus loin

Canary Release / Blue Green Deployment

Les pattern des géants du web

Tutoriel Microsoft complet

A bientôt !

Thomas

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *