Extia - D'abord qui, ensuite quoi !

Le blog
​Soirée Ansible et déploiement continu avec la Comet’ IT Ouest !

Partager
actuality.blog.title

Le 25 juin, la Comet’ IT Ouest a proposé un meet-up pour les Ops, présenté par deux consultants de l’agence Extia Ouest, Ben Ahmed et Rémy.

Dans une première partie, Ben Ahmed a fait une présentation sur Ansible, animée via une démonstration en direct. Ansible est l'un des meilleurs outils de gestion de la configuration et peut agir comme un orchestrateur pour la gestion d'autres outils du même type. Il a été conçu pour simplifier la complexité de l'automatisation et de l'orchestration des tâches. Celui-ci est agentless, c'est à dire qu'il ne nécessite pas d'installation du client sur les machines qui vont recevoir des mises à jour. Il est très flexible et peut couvrir des machines bare-metal, des machines et des plates-formes virtuelles et des environnements de cloud public ou privé. Ansible peut également gérer les périphériques réseau à partir de commutateurs, de routeurs et de pare-feux.

Puis, Rémy a pris la parole sur des sujets plus orientés DevOps que sont les chaînes CI/CD : Gitlab-CI et Jenkins. Il a présenté les chaînes d'intégration et chaînes de déploiement continu via deux exemples de mise en place avec les outils les plus populaires du marché, Jenkins et Gitlab-CI. La présentation s'adressait principalement à un public novice.

Pour introduire le sujet, Rémy a expliqué les chaînes CI/CD : l'automatisation de l'ensemble des étapes nécessaires pour passer du développement à la mise en production. Ainsi, il a mentionné, la compilation du code (création de package, d'image docker…), l'exécution des différentes couches de tests (unitaire, intégration, interface…), la mise à disposition des packages et enfin le processus de déploiement en production. La différence entre CI et CD se fait sur la présence ou non de la dernière étape.

Il a ensuite souligné quelques points clés concernant Jenkins et Gitlab-CI :

Jenkins : 

> Facile à installer

> Possibilité d'ajouts de fonctionnalités avec les nombreux plugins publics

> Interface utilisable par tous les membres du projet (pas uniquement orienté dev ou intégrateur)

> Possibilité d'automatiser d'autres tâches que celles nécessaires au CI/CD pour faciliter certaines actions (exemple : extract de base de données, récupération de log sur un serveur, etc.)

Gitlab-CI :

> Produit extrêmement populaire en entreprise avec souvent une plateforme mutualisée prête à l'emploi.

> Plus complet nativement avec beaucoup d'interactions possibles avec d'autres produits (alarme par e-mail ou sur des canaux de discussion comme Slack, outils d'analyse, synchronisation avec un dépôt github, etc.).

La partie suivante, était une démonstration en direct d'un usecase sur Gitlab-CI et sur Jenkins. Sur Gitlab-CI, Rémy a mis en place une chaîne de déploiement pour automatiser la compilation du code d'un répertoire Git sous la forme d'une image docker stockée sur Gitlab, puis déploiement de celle-ci sur un serveur cible. Au final sur Gitlab, toute modification du répertoire Git aboutit à la mise en ligne d'une nouvelle version dans les minutes qui suivent grâce à la chaîne CI/CD mise en place.

Sur Jenkins, il a présenté comment organiser son projet “Créer un job” (tâche automatisée), l’automatisation de son exécution, le classement de ses tâches pour les enchaîner sous certaines conditions, la création de chaîne de déploiement avec la syntaxe Jenkins. Au final sur Jenkins, un script de test de l'application déployée dans la première partie s'exécutait de manière périodique.

Enfin, la dernière partie, abordée succinctement, énumérait quelques aspects importants et "obligatoires" pour une chaîne CI/CD complète :

- Mise en place des tests, création d'exceptions et de traitements différents en fonction de ceux-ci.

- Alerting par mail ou canal d'équipe.

- Gestion de plusieurs environnements (prod/qualif) .

La soirée s'est terminée par des questions/réponses avec la soixantaine de participants connectés. Rémy et Ben Ahmed ont ainsi pu apporter des précisions sur la faisabilité de l'automatisation de certaines actions, l’intérêt d’utiliser Gitlab-CI ou Jenkins (Gitlab est "purement" une chaîne CI/CD /  Jenkins peut aussi servir de boîte à outils).

Et pour conclure, les consultants ont demandé si des personnes seraient intéressées pour un meet-up plus détaillé sur un des outils, il semblerait ainsi que Gitlab-CI suscite un plus grand intérêt. La Comet’ IT Ouest réfléchit dès à présent à cette nouvelle idée !

D’ici là, n’hésitez pas à nous suivre sur notre page Twitter @CometByExtia et à consulter notre site internet dédié aux meet-ups.

WANTED !
1000 2020 Nos offres d'emploi Candidature spontanée Serez-vous le prochain ? Extia recrute talents en