Table des matières
1 Introduction 3
2 Mise en place de l’environnement 3
2.1 Création des machines virtuelles . . . . . . . . . . . . . . . . . . . . . 3
2.2 Ajout d’un utilisateur sudo . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Installation et configuration d’Ansible 5
3.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Connexion SSH sans mot de passe . . . . . . . . . . . . . . . . . . . . 7
3.3 Fichier d’inventaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Test de connectivité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4 Déploiement du fichier WAR 12
4.1 Objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2 Playbook Ansible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 Exécution du playbook . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 Vérification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 Résumé des commandes utiles 16
6 Conclusion 16
1
Table des figures
1 Création de l’utilisateur sur la machine Ansible . . . . . . . . . . . . 4
2 Création de l’utilisateur sur la machine Tomcat . . . . . . . . . . . . 5
3 Installation d’Ansible . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4 Vérification de la version . . . . . . . . . . . . . . . . . . . . . . . . . 7
5 Génération de la clé SSH . . . . . . . . . . . . . . . . . . . . . . . . . 8
6 Connexion SSH sans mot de passe . . . . . . . . . . . . . . . . . . . . 9
7 Copie de la clé publique . . . . . . . . . . . . . . . . . . . . . . . . . 10
8 Configuration du fichier d’inventaire . . . . . . . . . . . . . . . . . . . 11
9 Test de connexion Ansible . . . . . . . . . . . . . . . . . . . . . . . . 12
10 Contenu du playbook . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
11 Exécution du playbook . . . . . . . . . . . . . . . . . . . . . . . . . . 14
12 Fichier WAR copié avec succès . . . . . . . . . . . . . . . . . . . . . . 15
13 Vérification du déploiement . . . . . . . . . . . . . . . . . . . . . . . 16
2
1 Introduction
Dans ce TP, nous avons découvert l’utilisation d’Ansible pour automatiser le
déploiement d’une application web (fichier .war) sur un serveur distant Tomcat,
dans une optique DevOps de déploiement continu.
Ansible est un outil open source d’automatisation, de gestion de configuration
et de déploiement. Il fonctionne sans agent, les instructions étant écrites en YAML.
Simple, puissant et soutenu par une large communauté, Ansible facilite la gestion
d’environnements complexes.
Ansible_logo-[Link]
Tomcat, développé par la fondation Apache, est un serveur d’applications Java.
Léger, flexible et largement utilisé, il prend en charge les technologies Java Servlet,
JSP et WebSocket.
[Link]
2 Mise en place de l’environnement
2.1 Création des machines virtuelles
Deux machines ont été configurées :
— Machine Ansible (maître) : [Link] – machine de contrôle.
— Machine Tomcat (nœud cible) : [Link] – hôte de l’application.
2.2 Ajout d’un utilisateur sudo
Sur chaque machine :
sudo adduser ansible-user
sudo usermod -aG sudo ansible-user
3
images/[Link]
Figure 1 – Création de l’utilisateur sur la machine Ansible
4
images/[Link]
Figure 2 – Création de l’utilisateur sur la machine Tomcat
3 Installation et configuration d’Ansible
3.1 Installation
sudo apt update
sudo apt install ansible -y
ansible --version
5
images/[Link]
Figure 3 – Installation d’Ansible
6
images/[Link]
Figure 4 – Vérification de la version
3.2 Connexion SSH sans mot de passe
ssh-keygen
ssh-copy-id tomcat-user@[Link]
ssh tomcat-user@[Link]
7
images/[Link]
Figure 5 – Génération de la clé SSH
8
images/[Link]
Figure 6 – Connexion SSH sans mot de passe
9
images/[Link]
Figure 7 – Copie de la clé publique
3.3 Fichier d’inventaire
Ajout de la machine Tomcat :
/etc/ansible/hosts
[tomcat]
[Link] ansible_user=tomcat-user
10
images/[Link]
Figure 8 – Configuration du fichier d’inventaire
3.4 Test de connectivité
ansible all -m ping -u tomcat-user
11
images/[Link]
Figure 9 – Test de connexion Ansible
4 Déploiement du fichier WAR
4.1 Objectif
Transférer automatiquement le fichier .war via Ansible vers Tomcat.
4.2 Playbook Ansible
[Link] :
12
images/[Link]
Figure 10 – Contenu du playbook
4.3 Exécution du playbook
ansible-playbook [Link]
13
images/[Link]
Figure 11 – Exécution du playbook
14
images/[Link]
Figure 12 – Fichier WAR copié avec succès
4.4 Vérification
Accès via navigateur :
[Link]
15
images/[Link]
Figure 13 – Vérification du déploiement
5 Résumé des commandes utiles
Étape Commande
Génération clé SSH ssh-keygen
Copie de clé ssh-copy-id user@IP
Test SSH ssh user@IP
Ping Ansible ansible all -m ping -u user
Déploiement WAR ansible-playbook [Link]
6 Conclusion
Cet atelier a permis de comprendre les principes de base d’Ansible pour l’auto-
matisation des déploiements, tout en garantissant la sécurité des connexions SSH
et une intégration fluide avec Tomcat. Ces compétences sont essentielles pour tout
processus DevOps moderne.
16