call_learning.moodle

Rôle Ansible : Moodle

CI Test Lint

Installe Moodle (4.1+) sur des serveurs RedHat et Debian/Ubuntu. Testé avec Ansible 6.0

Exigences

Doit être une version LTS récente d'Ubuntu ou REL qui dispose de PHP 8.0+, Apache 2.4 et Postgres ou Mysql installés.

Variables du rôle

Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml).

Dépendances

Aucune dépendance si l'hôte est installé et configuré avec un environnement LAMP (ou similaire). Si vous devez installer l'environnement complet, je vous recommande de vérifier :

  • geerlingguy.php (Installation de PHP 8.x ou antérieur)
  • geerlingguy.apache (Installation d'Apache 2.x)
  • geerlingguy.postgresql (Installation de Postgres)
  • geerlingguy.mysql (Installation de Mysql)

Exemple de Playbook

Licence

MIT / BSD

Informations sur l'auteur

Ce rôle a été créé en 2017 par Laurent David, d'après les modèles de rôles de Jeff Geerling, auteur de Ansible for DevOps.

Tests

Prérequis

Vous devez avoir installé :

  • ansible

Nous avons utilisé les tests de Jeff Geerling comme base qui utilise également de manière extensive molecule. Nous utilisons maintenant GitHub Action pour exécuter les tests à chaque commit (vous pouvez les trouver dans le dossier .github/workflow) :

  • lint.yml va simplement linter tout le projet et vérifier les erreurs de syntaxe
  • molecule.yml exécutera chaque scénario à tour de rôle et vérifiera si le playbook Ansible est valide

Note : comme l'installation de Postgres et Mysql prend du temps à partir de l'image originale de Jeff Geerling, nous avons un processus de pré-construction de ces images en utilisant packer chaque mois. Ce processus se fait dans le dossier molecule-images, qui peut être ignoré en toute sécurité si vous recherchez juste des informations sur le rôle lui-même.

  • Une fois le conteneur Docker lancé, vous pouvez relancer le playbook en exécutant :
    container_id=xxxxyyy
    docker exec --tty $container_id env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml

Pour tester un playbook spécifique, comme la partie check_moodle.py :

    container_id=xxxxyyy
    docker exec $container_id env TERM=xterm env ANSIBLE_FORCE_COLOR=1 ansible-playbook -i 'localhost,' -M /etc/ansible/roles/role_under_test/library /etc/ansible/roles/role_under_test/tests/test-check-moodle.yml

Test de la bibliothèque

Il existe un petit module qui vérifie si Moodle est installé/configuré dans le dossier de la bibliothèque. Plus d'infos dans le README.md du dossier de la bibliothèque.

#TODO

  • Tâches par étiquette
    • Configuration pure sans exécution de l'installation Moodle (juste des dossiers et le code source)
    • Installation avec installation de Moodle,
    • ... certaines tâches optionnelles telles que changer le mot de passe, mettre à jour, exporter la base de données, ...
À propos du projet

Moodle CentOS/Debian/Ubuntu.

Installer
ansible-galaxy install call_learning.moodle
Licence
mit
Téléchargements
352
Propriétaire