call_learning.moodle

Rol de Ansible: Moodle

CI Test Lint

Instala Moodle (4.1+) en servidores RedHat y Debian/Ubuntu.
Probado con Ansible 6.0

Requisitos

Debe ser una versión reciente LTS de Ubuntu o REL que tenga PHP 8.0+, Apache 2.4 y Postgres o Mysql instalados.

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml):

Dependencias

No hay dependencias si el host está instalado y configurado con un entorno LAMP (o similar).
Si necesitas instalar el entorno completo, te sugiero que verifiques:

  • geerlingguy.php (Instalación de PHP 8.x o anterior)
  • geerlingguy.apache (Instalación de Apache 2.x)
  • geerlingguy.postgresql (Instalación de Postgres)
  • geerlingguy.mysql (Instalación de Mysql)

Ejemplo de Playbook

Licencia

MIT / BSD

Información del Autor

Este rol fue creado en 2017 por Laurent David, del autor de plantillas de roles Jeff Geerling de Ansible for DevOps.

Pruebas

Requisitos Previos

Debes tener lo siguiente instalado:

  • ansible

Hemos utilizado las pruebas de Jeff Geerling como base, que a su vez usan ampliamente molecule.
Ahora estamos utilizando GitHub Actions para ejecutar las pruebas en cada commit (puedes encontrarlas en la carpeta .github/workflow):

  • lint.yml hará solo la revisión de estilo de todo el proyecto y verificará cualquier error de sintaxis
  • molecule.yml ejecutará cada escenario por turno y verificará si el playbook de ansible es válido

Nota: dado que la instalación de Postgres y Mysql tarda un tiempo desde la imagen original de Jeff Geerling,
tenemos un proceso de creación anticipada de esas imágenes utilizando packer cada mes. Este
proceso se realiza en la carpeta molecule-images que se puede ignorar de forma segura si solo buscas información sobre el rol en sí.

  • Una vez que se haya lanzado el contenedor Docker, puedes volver a ejecutar el playbook ejecutando:
    container_id=xxxxyyy
    docker exec --tty $container_id env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml

Para probar un playbook específico como la parte 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

Pruebas de la biblioteca

Hay un pequeño módulo que verifica si Moodle está instalado/configurado en la carpeta de la biblioteca.
Más información en el README.md de la carpeta de la biblioteca.

#TODO

  • Etiquetas de tareas
    • Configuración pura sin ejecutar la instalación de Moodle (solo carpetas y código fuente)
    • Instalación con instalación de Moodle,
    • ... algunas tareas opcionales como cambiar la contraseña, actualizar, volcar la base de datos, ...
Acerca del proyecto

Moodle CentOS/Debian/Ubuntu.

Instalar
ansible-galaxy install call_learning.moodle
Licencia
mit
Descargas
352
Propietario