moodle

Ansible Роль: Moodle

CI Тест Lint

Устанавливает Moodle (4.1+) на серверах RedHat и Debian/Ubuntu. Протестировано с Ansible 6.0.

Требования

Необходимо использовать недавнюю LTS версию Ubuntu или REL с установленными PHP 8.0+, Apache 2.4 и Postgres или Mysql.

Переменные роли

Доступные переменные перечислены ниже, вместе со значениями по умолчанию (см. defaults/main.yml):

Зависимости

Нет зависимостей, если на хосте установлен и настроен LAMP стек (или аналогичная) среда. Если вам нужно установить полную среду, я рекомендую проверить:

  • geerlingguy.php (Установка PHP 8.x или ранее)
  • geerlingguy.apache (Установка Apache 2.x)
  • geerlingguy.postgresql (Установка Postgres)
  • geerlingguy.mysql (Установка Mysql)

Пример плейбука

Лицензия

MIT / BSD

Информация об авторе

Эту роль создал в 2017 году Лорен Дэвид, он является автором шаблонов ролей Джеффа Гирлинга из Ansible for DevOps.

Тестирование

Предварительные условия

У вас должно быть установлено следующее:

  • ansible

Мы использовали тесты Джеффа Гирлинга как основу, которые, в свою очередь, широко используют molecule. Теперь мы используем действие GitHub для запуска тестов при каждом коммите (вы можете найти их в папке .github/workflow):

  • lint.yml просто проверит весь проект и проверит наличие синтаксических ошибок.
  • molecule.yml последовательно выполнит каждый сценарий и проверит, действителен ли плейбук ansible.

Примечание: так как установка Postgres и Mysql занимает время исходного образа Джеффа Гирлинга, мы создали процесс предварительной сборки этих образов с использованием packer каждый месяц. Этот процесс выполняется в папке molecule-images, которую можно безопасно игнорировать, если вы просто ищете информацию о самой роли.

  • Как только Docker будет запущен, вы можете повторно запустить плейбук, выполнив:
    container_id=xxxxyyy
    docker exec --tty $container_id env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml

Чтобы протестировать конкретный плейбук, такой как часть 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

Тестирование библиотеки

Существует маленький модуль, который проверяет, установлены или настроены ли moodle в папке библиотеки. Больше информации в README.md папки библиотеки.

#TODO

  • Теги задач
    • Чистая настройка без запуска установки moodle (только папки и исходный код)
    • Установка с установкой moodle,
    • ... некоторые необязательные задачи, такие как смена пароля, обновление, дамп базы данных, ...
О проекте

Moodle CentOS/Debian/Ubuntu.

Установить
ansible-galaxy install call-learning/ansible-role-moodle
Лицензия
mit
Загрузки
340
Владелец