call_learning.moodle
Ansible Rolle: Moodle
Installiert Moodle (4.1+) auf RedHat- und Debian/Ubuntu-Servern. Getestet mit Ansible 6.0.
Anforderungen
Es muss eine aktuelle LTS-Version von Ubuntu oder REL sein, die PHP 8.0+, Apache 2.4 und Postgres oder Mysql installiert hat.
Rollenvariablen
Verfügbare Variablen sind unten aufgelistet, zusammen mit Standardwerten (siehe defaults/main.yml
):
Abhängigkeiten
Es gibt keine Abhängigkeiten, wenn der Host mit einem LAMP-Stack (oder ähnlichem) eingerichtet ist. Falls Sie die gesamte Umgebung installieren müssen, empfehle ich Folgendes:
- geerlingguy.php (Installation von PHP 8.x oder früher)
- geerlingguy.apache (Installation von Apache 2.x)
- geerlingguy.postgresql (Installation von Postgres)
- geerlingguy.mysql (Installation von Mysql)
Beispiel-Playbook
Lizenz
MIT / BSD
Autor Informationen
Diese Rolle wurde 2017 von Laurent David erstellt, basierend auf den Vorlagen von Jeff Geerling, Autor von Ansible for DevOps.
Tests
Voraussetzungen
Sie müssen Folgendes installiert haben:
- ansible
Wir haben die Tests von Jeff Geerling als Grundlage verwendet, die wiederum umfassend molecule nutzen. Wir verwenden jetzt GitHub-Aktionen, um die Tests bei jedem Commit auszuführen (Sie finden sie im .github/workflow-Ordner):
- lint.yml lintet das gesamte Projekt und überprüft auf Syntaxfehler.
- molecule.yml führt jede Szene nacheinander aus und überprüft, ob das Ansible-Playbook gültig ist.
Hinweis: Da die Installation von Postgres und Mysql eine Weile dauert, verwenden wir das ursprüngliche Jeff Geerling Image. Wir haben einen Prozess zum Vorbauen dieser Images, der jeden Monat mit packer durchgeführt wird. Dieser Prozess findet im Ordner molecule-images statt und kann ignoriert werden, wenn Sie nur Informationen über die Rolle selbst suchen.
- Nachdem der Docker gestartet wurde, können Sie das Playbook erneut ausführen, indem Sie Folgendes eingeben:
container_id=xxxxyyy
docker exec --tty $container_id env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml
Um spezifische Playbooks wie den Teil check_moodle.py zu testen:
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
Bibliothekstest
Es gibt ein kleines Modul, das überprüft, ob Moodle im Bibliotheksordner installiert/konfiguriert ist. Mehr Informationen finden Sie in der README.md des Bibliotheksordners.
#TODO
- Tags Aufgaben
- Reines Setup ohne Ausführung der Moodle-Installation (nur Ordner und Quellcode)
- Installation mit Moodle-Installation,
- ... einige optionale Aufgaben wie Passwort ändern, aktualisieren, Datenbank dumpen, ...
ansible-galaxy install call_learning.moodle