Ejecutar tareas administrativas varias
Tareas comunes
Durante el desarrollo existen comandos que se deben lanzar para reflejar los cambios llevados adelante sobre el portal SIU-Huarpe.
Acceso a la consola de comandos Symfony
Hay que recordar que SIU-Huarpe está desarrollado con el framework Symfony, con lo cual tenemos a disposición la consola de comandos de la aplicación:
# ./bin/console
Symfony 4.4.33 (env: dev, debug: true)
Usage:
...
Options:
...
Available commands:
...
A continuación, veremos algunos comandos necesarios para diferentes momentos del desarrollo del portal.
Nota: reemplace $CONTAINER_ID con el nombre del contenedor Docker que está ejecutando el entorno de Huarpe.
Limpiaza de la caché de symfony
Es necesario descartar en ocasiones la cache
que se construye automáticamente en pos de mejorar la performance,
principalmente sobre:
- archivos de configuración
- archivos de assets (js, css, imágenes, compilación de encore)
- plantillas de templates HTML
- código php generado en forma dinámica
- otros detalles (sesiones, temporales, etc.)
De otra forma, no seremos capaces de visualizar un cambio particular que hayamos incorporado. Esto lo realizamos de la siguiente manera:
docker exec -it $CONTAINER_ID bash -c "bin/console cache:clear"
Manejando CSS y Javascripts
El portal está desarrollado utilizando la recomendación de Symfony para la construcción del frontend: Webpack Encore
Primero, si necesitamos bajar las dependencias del paquete que se hayan configurado (porque editamos el archivo
packages.json
por ej.), deberemos ejecutar:
docker exec -it $CONTAINER_ID bash -c "yarn install"
Luego realizamos el empaquetado de módulos, pre-procesamiento y minimificado de archivos CSS y JS de la aplicacion:
docker exec -it $CONTAINER_ID bash -c "yarn encore dev"
Este comando, genera y empeaqueta todos los assets y los deposita sobre el directorio public/build/
del proyecto,
haciendolos así accesibles por el servidor web.
Nota: si editamos un archivo tipo asset, para que se vea reflejado los cambios deberemos volver a ejecutarlo!
Cuando los archivos de assets (como css y js) tengan referencias a imágenes, se presenta un problema de referencia base, que proboca que las imágenes no puedan ser referenciadas correctamente. Para corregirlo, deberemos ejecutar:
docker exec -it $CONTAINER_ID bash -c "bin/fix-assets.sh"
Finalmente, para los archivos js/css/imágenes que NO hayamos colocado vía Webpack Encore, deberán ser copiados al
directorio public/bundles/
, ejecutando:
docker exec -it $CONTAINER_ID bash -c "bin/console assets:install"