call_learning.moodle
Rola Ansible: Moodle
Instaluje Moodle (4.1+) na serwerach RedHat i Debian/Ubuntu. Testowane z Ansible 6.0.
Wymagania
Potrzebna jest aktualna wersja LTS Ubuntu lub REL z zainstalowanym PHP 8.0+, Apache 2.4 oraz Postgres lub MySQL.
Zmienne roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (patrz defaults/main.yml
):
Zależności
Brak zależności, jeśli host jest zainstalowany i skonfigurowany z odpowiednim środowiskiem LAMP (lub podobnym). Jeśli musisz zainstalować pełne środowisko, sugeruję sprawdzenie:
- geerlingguy.php (Instalacja PHP 8.x lub wcześniejszego)
- geerlingguy.apache (Instalacja Apache 2.x)
- geerlingguy.postgresql (Instalacja Postgres)
- geerlingguy.mysql (Instalacja MySQL)
Przykładowy Playbook
Licencja
MIT / BSD
Informacje o autorze
Ta rola została stworzona w 2017 roku przez Laurenta Davida, na podstawie szablonów ról Jeffa Geerlinga, autora książki Ansible for DevOps.
Testowanie
Wymagania wstępne
Musisz mieć zainstalowane:
- ansible
Użyliśmy testów Jeffa Geerlinga jako bazy, które z kolei intensywnie korzystają z molecule. Obecnie używamy akcji GitHub do uruchamiania testów przy każdym commitcie (możesz je znaleźć w folderze .github/workflow):
- lint.yml sprawdza cały projekt pod kątem błędów składniowych.
- molecule.yml uruchamia każdy scenariusz po kolei i sprawdza, czy playbook Ansible jest poprawny.
Uwaga: Instalacja Postgres i MySQL zajmuje trochę czasu z oryginalnego obrazu Jeffa Geerlinga. Mamy proces wstępnego budowania tych obrazów przy użyciu packera co miesiąc. Proces ten znajduje się w folderze molecule-images, który można bezpiecznie zignorować, jeśli tylko szukasz informacji na temat samej roli.
- Po uruchomieniu dockera możesz ponownie uruchomić playbook, wykonując:
container_id=xxxxyyy
docker exec --tty $container_id env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml
Aby przetestować konkretny playbook, na przykład część 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
Testowanie biblioteki
Istnieje mały moduł, który sprawdza, czy Moodle jest zainstalowany/skonfigurowany w folderze biblioteki. Więcej informacji znajdziesz w README.md folderu biblioteki.
#TODO
- Oznacz zadania
- Czysta konfiguracja bez uruchamiania instalacji Moodle (tylko foldery i kod źródłowy)
- Instalacja z uruchomieniem instalacji Moodle,
- ... opcjonalne zadania, takie jak zmiana hasła, aktualizacja, zrzut bazy danych, ...
ansible-galaxy install call_learning.moodle