Intégration d’Ansible et de Docker pour un pipeline CI/CD en utilisant Jenkins

  • October 20, 2021
  • 931 Views

Jenkins est un outil pour le Provisionning des environnements de développement/production ainsi que le déploiement d’applications via le flux de pipeline. Nous utiliserons Ansible comme outil de déploiement dans un processus d’intégration continue/déploiement continu à l’aide de Jenkins Job.
Étape 1 :

Tout d’abord on va installer Ansible dans un control node, pour cela on va créer un environnement Ubuntu ou on va l’installer sur cet environnement.

Étape 2 :

On va accéder au Web ssh pour installer Ansible

Cmd: apt install software-properties-common

Cmd: add-apt-repository –yes –update ppa:ansible/ansible

Cmd: pip install ansible-core

Étape 3 :

On va installer Jenkins pour cela on va accéder au marketplace et sélectionner Jenkins.

Maintenant on peut accéder au UI Jenkins.

Étape 4 :

On va intégrer ansible avec jenkins, cliquez sur administrer jenkins puis gestion des plugins puis recherchez publish over ssh.

Puis accédez au configurer le système et on va trouver publish over ssh on va cliquez sur ajouter ssh servers et on va ajouter ansible server.

Dans le champ Hostname ajoutez adresse IP ou nom de domaine du serveur ansible ainsi que uername et password

Avant d’enregistrer les paramètres, assurez-vous de tester la connexion avant d’enregistrer la configuration, en cliquant sur le bouton Tester la configuration.

Étape 5 :

La prochaine étape consiste à créer des Jenkins jobs. L’objectif de cette tâche est de créer, tester et télécharger l’artefact sur notre serveur Ansible.
Cliquez sur nouveau item et sélectionnez Maven project:

Ensuite accédez au post steps et cliquez sur send files or execute commands over ssh et on va ajoutez source files, remote directory et executer les playbook. Mais avant de l’exécute on doit créer le playbook.

Étape 6 :

On va créer le Playbook va faire un pull de l’image et va lancer le docker container et après va déployer l’application.

Ensuite on va exécuter le Playbook:

Résultat : l’application a été déployé avec succès.