call_learning.moodle

Rola Ansible: Moodle

CI Test Lint

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, ...
O projekcie

Moodle CentOS/Debian/Ubuntu.

Zainstaluj
ansible-galaxy install call_learning.moodle
Licencja
mit
Pobrania
352
Właściciel