Application de Playbooks Réutilisables en Pratique
Maintenant que vous comprenez les techniques pour créer des playbooks Ansible réutilisables, explorons comment les appliquer dans un scénario pratique.
Scénario : Déploiement d'une Application Web
Imaginez que vous ayez besoin de déployer une application web sur plusieurs environnements (par exemple, développement, préproduction, production). Vous pouvez utiliser des playbooks réutilisables pour rationaliser le processus de déploiement.
Structure du Playbook
La structure de votre playbook pourrait ressembler à ceci :
site.yml
roles/
common/
tasks/
main.yml
nginx/
tasks/
main.yml
myapp/
tasks/
main.yml
vars/
main.yml
site.yml
Le playbook principal, site.yml
, inclura les rôles nécessaires :
---
- hosts: all
become: true
roles:
- common
- nginx
- myapp
Rôle commun
Le rôle common
installe les paquets de base requis dans tous les environnements :
---
- name: Installer les paquets requis
yum:
name:
- vim
- git
- epel-release
state: present
Rôle nginx
Le rôle nginx
configure le serveur web :
---
- name: Installer Nginx
yum:
name: nginx
state: present
- name: Démarrer le service Nginx
service:
name: nginx
state: started
enabled: true
Rôle myapp
Le rôle myapp
gère le déploiement de l'application web :
---
- name: Déployer l'application
unarchive:
src: "{{ app_source_url }}"
dest: /opt/myapp
remote_src: yes
- name: Démarrer l'application
systemd:
name: myapp
state: started
enabled: true
Le rôle myapp
utilise également une variable définie dans vars/main.yml
pour spécifier l'URL source de l'application.
En organisant vos playbooks en rôles réutilisables, vous pouvez facilement appliquer la même automatisation à différents environnements, réduisant ainsi le temps et les efforts nécessaires pour gérer votre infrastructure.