Aller au contenu

Bibliothèque de rôles

Pour créer une bibliothèque de rôles et installer un rôle à partir de cette bibliothèque en utilisant Ansible Galaxy, vous pouvez suivre ces étapes :

  1. Créer une bibliothèque de rôles : Vous pouvez créer un répertoire centralisé pour stocker vos rôles. Par exemple, créez un répertoire nommé roles_library dans votre projet Ansible.

  2. Ajouter des rôles à la bibliothèque : Vous pouvez ajouter des rôles à cette bibliothèque en les téléchargeant manuellement ou en les créant vous-même. Par exemple, vous pouvez télécharger un rôle depuis Ansible Galaxy et le placer dans le répertoire roles_library.

  3. Installer un rôle à partir de la bibliothèque : Vous pouvez utiliser Ansible Galaxy pour installer un rôle à partir de votre bibliothèque locale. Pour ce faire, vous devez spécifier le chemin du rôle dans votre fichier requirements.yml.

Exemple complet

  1. Structure du projet :

    my-ansible-project/
    ├── roles_library/
    │   └── my_custom_role/
    │       ├── tasks/
    │       │   └── main.yml
    │       ├── handlers/
    │       │   └── main.yml
    │       ├── templates/
    │       ├── files/
    │       ├── vars/
    │       │   └── main.yml
    │       ├── defaults/
    │       │   └── main.yml
    │       ├── meta/
    │       │   └── main.yml
    │       └── README.md
    ├── requirements.yml
    ├── site.yml
    └── inventory
    
  2. Contenu de requirements.yml :

    ---
    - src: ./roles_library/my_custom_role
      version: 1.0.0
    

    Dans cet exemple, nous spécifions que le rôle my_custom_role se trouve dans le répertoire roles_library de notre projet.

  3. Contenu de site.yml :

    ---
    - hosts: webservers
      roles:
        - my_custom_role
    
  4. Contenu de inventory :

    [webservers]
    server1.example.com
    server2.example.com
    
  5. Installer le rôle :

    ansible-galaxy install -r requirements.yml
    

    Cette commande installera le rôle my_custom_role à partir du répertoire roles_library dans le répertoire roles de votre projet Ansible.

  6. Exécuter le playbook :

    ansible-playbook -i inventory site.yml
    

En suivant ces étapes, vous pouvez créer une bibliothèque de rôles et installer des rôles à partir de cette bibliothèque en utilisant Ansible Galaxy. Cela vous permet de centraliser et de réutiliser vos rôles Ansible de manière efficace.