call_learning.moodle

Ansible Rolle: Moodle

CI Test Lint

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, ...
Über das Projekt

Moodle CentOS/Debian/Ubuntu.

Installieren
ansible-galaxy install call_learning.moodle
GitHub Repository
Lizenz
mit
Downloads
352
Besitzer