Dependencias necesarias
A continuación se listan las versiones de software utilizadas para la creación y compilación del proyecto. Versiones diferentes podrían ser válidas, aunque esto no está garantizado. Todo el software se descargó del repositorio oficial del CESTIC (accesible desde INTRANET), aunque se incluyen rutas de descarga a los repositorios externos oficiales de cada aplicación.
- Node.js (v24.7.0) y npm (v11.5.1): Descarga: nodejs.org
- Maven (v3.9.11): Descarga: maven.apache.org
- Java Development Kit (v17.0.2): Descarga: Oracle
Instrucciones para desarrollar el frontend
- Clonar el repositorio
- Ejecutar una consola/terminal dentro de la carpeta del repositorio.
- Cambiar al directorio del frontend ejecutando
cd frontend. - Ejecutar
npm installpara instalar las dependencias de Node.js. - Realizar los cambios que se requieran en el código. Ejecutado
npm run deven la terminal se pueden ver los cambios en tiempo real.
Instrucciones para desarrollar el backend
- Clonar el repositorio.
- Importar el proyecto Maven en Eclipse. El directorio raíz del backend contiene el
pom.xmlgeneral y las carpetas de los diferentes módulos. Al importarlo, aparecerán todos los módulos del proyecto. - Abrir el menú
Debug Configurations. SeleccionarSpring Boot Appy la pestañademeter-aplicacion - ArranqueAplicacion. - En la pestaña
Spring BootseleccionarOverride propertiese introducir:
spring.config.location=ruta-a-los-repositorios/demeter/conf/local/application.properties
Esto es necesario ya que application.properties no se encuentra dentro del módulo demeter-aplicacion.
- En la pestaña
ArgumentsseleccionarVM argumentse introducir:
-Dlog.dir="C:/temp/logs" -Dserver.name=localhost -Dnombre.app=demeter
- Guardar y salir.
- El módulo que se debe ejecutar en el IDE es el denominado
demeter-aplicacion.
Instrucciones para desplegar el frontend
- Clonar el repositorio
- Ejecutar una consola/terminal dentro de la carpeta del repositorio.
- Cambiar al directorio del frontend ejecutando
cd frontend. - Ejecutar
npm installpara instalar las dependencias de Node.js. - Ejecutar
npm run buildpara construir los archivos que se deben desplegar en el servidor. Los archivos generados se encontrarán en la carpetadist.
Instrucciones para desplegar el backend
- Clonar el repositorio
- Ejecutar una consola/terminal dentro de la carpeta del repositorio.
- Cambiar al directorio raíz del backend ejecutando
cd demeter. - Compilación. Existen dos formas de compilar el backend, generando un archivo
jaro un archivowar. La diferencia radica en que losjarse utilizan para proyectos no desplegados en servidor, mientras que loswarse usan para aplicaciones desplegadas.
Generar el war
- Incluir en el
pom.xmldel módulodemeter-aplicacion:
<packaging>war</packaging>
- Añadir el siguiente plugin dentro de
<plugins>:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.4.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
- Ejecutar en la carpeta raíz del backend (la que contiene el
pom.xmlgeneral y las carpetas de cada módulo)mvn clean package - El archivo
wargenerado se encuentra en la rutademeter/demeter/demeter-aplicacion/target.
Generar el jar
- Eliminar del
pom.xmldel módulodemeter-aplicacionlos elementos especificados en el apartadowar. - Ejecutar en la carpeta raíz del backend (la que contiene el
pom.xmlgeneral y las carpetas de cada módulo)mvn clean package - El archivo
jargenerado se encuentra en la rutademeter/demeter/demeter-aplicacion/target.
Ejecución
En la máquina de despliegue:
- Crear la carpeta
demetery dentro de ella la carpetalogs. - Copiar la carpeta
confdesde la raíz del repositorio ademeter. Esta contiene el archivoapplication.propertiesy los certificados.
Ejecutar el backend desde la carpeta demeter con el comando:
java -jar -Dlog.dir="<ruta-a-demeter>\logs" -Dserver.name=<nombre-del-servidor> -Dnombre.app=demeter demeter-aplicacion.jar --spring.config.location="<ruta-a-demeter>\conf\local\application.properties"
Los parámetros de ejecución coinciden con los configurados en Eclipse para el desarrollo.