moodle
Ansible Роль: Moodle
Устанавливает 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,
- ... некоторые необязательные задачи, такие как смена пароля, обновление, дамп базы данных, ...
ansible-galaxy install call-learning/ansible-role-moodle