Saltar al contenido principal

Integración y despliegue

Procedimiento para integrar los cinco componentes entregados (ver Manifiesto de entrega) en un Moodle 5.1 sobre el stack Docker del campus. Está pensado para el equipo de infraestructura y los administradores de Moodle del cliente.

El runbook documenta el stack Docker real del proyecto (Docker Compose + upgrade.php + purge_caches.php). Los valores específicos de cada entorno (host, contenedores, rutas) se expresan como variables; sustitúyelas por las del entorno destino.

Modelo de entrega

El código se entrega por el repositorio GitLab del cliente (rama de entrega) o como paquete (zip/rsync). Se ubica dentro del árbol de Moodle, bajo public/, en las rutas estándar de cada tipo de plugin:

ComponenteRuta destino (dentro del docroot)
local_pccntr8203403_dashboardpublic/local/pccntr8203403_dashboard/
local_pccntr8203403_aitutorpublic/local/pccntr8203403_aitutor/
block_pccntr8203403_logrospublic/blocks/pccntr8203403_logros/
block_pccntr8203403_atencionpublic/blocks/pccntr8203403_atencion/
theme_cdigitalpublic/theme/cdigital/

No se toca ningún otro archivo del core. Orden de instalación: primero los plugins locales, luego los bloques y por último el tema (el tema y los bloques consumen clases y Web Services de los plugins locales; los bloques declaran la dependencia en version.php). Con una copia única del árbol y un solo upgrade.php, Moodle resuelve este orden automáticamente.

Entornos del proyecto

EntornoHostURLProyecto Compose
Local (dev)localhosthttp://localhost:8080 · https://localhost:8443local/
Pruebasroot@2.24.207.244https://campusvirtual.metaversodenegocios.comcolombiaaprende
Certificación(VPN)https://applicationcert.colombiaaprende.edu.cocertificacion/

En Certificación no hay despliegue directo (acceso por VPN, solo consulta). La entrega al cliente se realiza por el GitLab de MinEducación y se formaliza con el formato RFC del MEN; la ejecución la realiza el equipo técnico del MEN.

Entre ambientes viaja código, nunca datos: ver qué NO incluye la entrega.

Variables del runbook

Define estas variables según el entorno destino (los valores de ejemplo son los de Pruebas):

HOST=root@2.24.207.244 # host SSH del entorno
KEY=/ruta/a/llave_ssh # llave SSH (si aplica)
SRC=/ruta/local/APP158C/public # árbol de origen (build local)
DST=/opt/docker/apps/colombiaaprende/APP158C/public # docroot destino
WEB=colombiaaprende_web # contenedor web (PHP 8.3)
DB=colombiaaprende_db # contenedor MariaDB
OWNER=501:50 # propietario del árbol de código

Secuencia de despliegue

  1. Build de assets — solo si cambiaron amd/src/* o el SCSS del tema.
  2. Procedimiento — backup → copia de código → propietario → upgrade.phppurge_caches.php → activar tema.
  3. Verificación — comprobar que el despliegue quedó sano y la feature funciona.
  4. Rollback — si algo falla, restaurar.

Para la entrega final al cliente (ambiente Certificación), el procedimiento anterior se traduce al formato del MEN: Entrega a Certificación (RFC).

Antes de tocar nada, confirma los requisitos del entorno.