Initialisation d'un rôle Ansible
Procédure détaillée pour l'initialisation d'un rôle Ansible
Ouvrez un terminal ou une invite de commandes.
Utilisez la commande suivante pour initialiser un nouveau rôle Ansible en spécifiant le nom du rôle et le chemin où vous souhaitez créer le rôle :
Remplacez "nom_du_role" par le nom que vous souhaitez donner à votre rôle. Par exemple, si vous souhaitez créer un rôle appelé "mon_role", la commande serait :
bashansible-galaxy init mon_roleAprès l'exécution de la commande, un nouveau répertoire portant le nom du rôle sera créé dans le répertoire actuel.
Ce répertoire contiendra la structure de base du rôle Ansible, y compris les répertoires suivants :
defaults/ : Ce répertoire contient le fichier
main.ymlqui définit les variables par défaut pour le rôle.files/ : Ce répertoire contient les fichiers statiques nécessaires au rôle. Par exemple,
config.iniet un sous-répertoirescripts/contenant des scripts exécutables.handlers/ : Ce répertoire contient le fichier
main.ymlqui définit les gestionnaires (handlers) utilisés dans le rôle.meta/ : Ce répertoire contient le fichier
main.ymlqui fournit des métadonnées sur le rôle, telles que les dépendances avec d'autres rôles.tasks/ : Ce répertoire contient le fichier
main.ymlqui contient les tâches à exécuter pour le rôle.templates/ : Ce répertoire contient les modèles de fichiers utilisés dans le rôle. Par exemple,
template.conf.j2est un fichier de modèle utilisant la syntaxe Jinja2.tests/ : Ce répertoire contient les fichiers de test pour le rôle. Il peut inclure un répertoire
inventory/contenant des fichiers d'inventaire de test, un fichierrequirements.ymlspécifiant les dépendances de test, et un fichiertest.ymldécrivant les scénarios de test.vars/ : Ce répertoire contient les fichiers
main.ymletsecrets.ymlqui définissent les variables utilisées dans le rôle. Le fichiersecrets.ymlpeut contenir des variables sensibles qui doivent être protégées.README.md : Ce fichier contient la documentation du rôle, décrivant son objectif, son utilisation et d'autres informations pertinentes.
Veuillez noter que cette structure de dossier est une suggestion courante pour un rôle Ansible, mais elle peut être adaptée en fonction des besoins spécifiques du projet.
Pour la création des fichiers et tâches spécifiques, suivez les étapes ci-dessous :
a. Tâche "after symlink" (après la création des liens symboliques) :
- Créez un fichier YAML dans le répertoire
tasksavec le nomafter_symlink.yml.
Cette tâche peut contenir les actions à effectuer après la création des liens symboliques.
yaml--- - name: Exécuter des actions après la création des liens symboliques # Ajoutez ici les actions spécifiquesb. Tâche "before symlink" (avant la création des liens symboliques) :
- Créez un fichier YAML dans le répertoire
tasksavec le nombefore_symlink.yml.
Cette tâche peut contenir les actions à effectuer avant la création des liens symboliques.
yaml--- - name: Exécuter des actions avant la création des liens symboliques # Ajoutez ici les actions spécifiquesc. Tâche "main" (tâches principales) :
- Créez un fichier YAML dans le répertoire
tasksavec le nommain.yml.
Cette tâche contient les actions principales du rôle.
yaml--- # tasks file for Lagon_ansistrano - name: correct unsafe git repo error shell: "git config --global --add safe.directory {{ ************}}/repo" - name: include_role: name: ansistrano.deploy # name: ansistrano.rollbackd. Templates :
- Créez les templates requis dans le répertoire
templates.
Pour les fichiers
docker-compose.yml,DockerfileetVhost, créez les fichiers suivants :- docker-compose.yml.j2 - Dockerfile.j2 - Vhost.j2e. Fichier "db_vars" :
- Créez un fichier YAML dans le répertoire
varsavec le nomdb_vars.yml.
Ce fichier peut contenir les variables spécifiques à la base de données.
yaml--- db_host: localhost db_user: myuser db_password: mypassword db_name: mydatabasef. Fichier "main" :
- Le fichier
main.ymldans le répertoirevarscontient les variable nécéssaire aux déploiement du projet .
yaml--- # vars file for Assurmix_inte dest: "{{ ****** }}/" ansistrano_deploy_via: "git" ansistrano_git_branch: main ansistrano_git_repo: https://{{ *********** }}@github.com/*******/*********.git ansistrano_deploy_to: "{{ dest }}" ansistrano_before_symlink_shared_tasks_file: tasks/before_symlink.yml ansistrano_after_symlink_tasks_file: tasks/after_symlink.yml ansistrano_keep_releases: 3- Créez un fichier YAML dans le répertoire
Une fois que vous avez personnalisé les fichiers, les tâches et les templates selon vos besoins spécifiques, vous pouvez les utiliser dans vos playbooks Ansible.
Assurez-vous d'adapter les noms des fichiers, des tâches et des variables en fonction de votre structure et de vos besoins réels.