\ /
DevOps  Ansible  CI/CD  French 

[FRENCH] Gestion de configuration: Cas d'usage d'Ansible et les pipelines Microsoft Azure

Introduction

Cet article est la suite de l'article publier au sujet d'Ansible [FRENCH] La gestion de configuration: Introduction d'Ansible

Dans cette deuxième partie, nous allons voir un cas pratique sur lequel je travaille en ce moment avec l’un des clients qui utilisent Ansible pour faire de l’intégration et du déploiement continue (CI/CD) dans les pipelines MS Azure.

Azure DevOps pipelines propose des services aux Devs et Ops pour collaborer sur tout le cycle de vie d’une application (Développement, build et déploiement) tout en permettant aux managers et chefs de projets de suivre de manière simple l’avancement des différentes étapes.

Un pipeline CI/CD d’Azure est utilisé pour automatiser le processus d’intégration et déploiement continue, il facilite via des “stages” la délivrance d’une solution complète (build, test, merge et deploy). Pour faire simple, un pipeline peut être considéré comme une exécution de séries d’instructions qui permettent de réduire et optimiser le temps de travail des équipes Dev/Ops.

Il existe deux types de pipelines dans Azure:

  • Build pipeline: est le pipeline responsable de générer l’artefact qui sera déployé (Autrement dit, il contient le code applicatif)
  • Release pipeline: qui est responsable d’escalader la livraison applicative dans les différents environnements que nous créons.

Exemple de pipelines:

La génération des binaires se passe en deux étapes:

L'étape du build, voici un exemple de code:

L'étape du release, voici un exemple de code:

À noter que ces deux étapes peuvent s'effectuer via des assistants graphiques fournis par Microsoft depuis l'interface web d'Azure Dev Ops. Plus d'informations ici.

Voici comment création du pipeline et les environnements du déploiement se passe:

Dans l’onglet Pipelines, on clique sur “Create pipeline”

Puis choisir l’endroit où se trouve notre code d’application.

Ensuite il faut choisir le bon répertoire qui contient le code.

il faut démarrer le pipeline “Starter pipeline”.

Et ensuite, la page suivante se charge pour vérifier l’état du code.


Et puis, il faut cliquer sur “Save and Run”

Après, nous allons apercevoir l’état de notre pipeline :

Et pour finir, pour des questions de sécurité, il faut mettre en place une politique d’autorisations ‘Approvals’ avant chaque déploiement.

Une fois que les étapes citées ci-dessus se terminent, le pipeline fait un appel API (via un script PowerShell) vers le template spécifique dans Ansible Tower, et qui ensuite démarre les jobs nécessaires pour faire le déploiement applicatif dans le serveur qu’on a indiqué. Ces étapes sont généralement l’arrêt du serveur Web, la création d’un répertoire de back-up au cas où le déploiement échoue, la suppression des anciens fichiers Web, le déploiement des nouveaux fichiers de build, chargés à travers les artefacts Azure, puis le démarrage à nouveau du serveur web.

Conclusion

Nous avons vu dans cet article une brève explication des mécanismes d’automatisation d’Ansible et son fonctionnement dans un cas réel avec les pipelines d’Azures, pour plus d’informations sur les pipelines dans Azure, cliquez « ici » pour voir la documentation officielle Microsoft. Pour résumé, voici un schéma qui conclut tout ce que nous venons de voir :

comments powered by Disqus