Estás viendo una versión antigua de esta página. Ve a la versión actual.

Comparar con el actual Ver el historial de la página

« Anterior Versión 2 Siguiente »

Las librerías de FundewebJs se actualizarán periódicamente por diversos motivos, como cambios en las versiones de las dependencias o cambios de funcionalidad en las librerías propias, esta guía explica las implicaciones que puede tener ese cambios en nuestras APIs y como deberemos actuar para aplicar los cambios.

En la bitácora de las librerías podemos ver estos cambios.

Las librerías

Dentro de las librerías de FundewebJs tenemos:

  • fundewebjs-api-parent: Es el parent que tienen que configurar todas las APIs, gestiona versiones y plugins.
  • fundewebjs-api-dependencies: Es el parent de nuestras librerías propias.
    • fundewebjs-api-components: Configuraciones y filtros comunes.
    • fundewebjs-lagar: Configuración y filtros específicos de LAGAR. FrontLogger para logging desde el UI.
    • fundewebjs-log4j2: Configuración y versionado de librerías para logs (por si log4j2 vuelve a tener vulnerabilidades).
    • fundewebjs-security: Seguridad, filters y validadores de claims, gestión de errores de seguridad y validación del LoA.
    • fundewebjs-serviciosrrhh-client: Cliente para obtener datos de afiliaciones desde el token.
    • fundewebjs-eadmin-client: Cliente SOAP para Archivo, Registro y Copia. Cliente Rest para PFW.
    • fundewebjs-fopum-client: Cliente SOAP para fopum.
    • fundewebjs-acade-common: Librería para funcionalidades genéricas de Acade. Incluye eadmin-client y fopum-client.
    • fundewebjs-umubus: Librería genérica de CQRS/eventos.
    • fundewebjs-umubus-rabbit: Implementación de umubs para RabbitMQ.
  • fundewebjs-spring-boot-starter: Esta librería gestiona las dependencias y versiones de otras librerías Spring-boot.

Cambio en la versión del parent

En nuestros proyectos la única versión a la que debería hacerse referencia es a la versión del fundeweb-api-parent, que se declara en el tag parent, así que solamente tendremos que cambiar el pom de nuestro proyecto cuando se publique una nueva versión del fundewebjs-api-parent o queramos usar una nueva librería incluida en fundewebjs-api-dependencies.

Cambio en las librerías propias

Las librerías incluidas en fundewebjs-api-dependencies están declaradas en un rango, lo que quiere decir que cuando se publique una nueva versión, dentro de ese rango, se usarán en nuestros proyectos sin necesidad de hacer ningún cambio en el pom.

Cuando tienen efecto los cambios

En local los cambios tendrán efecto cuando se haga un "Maven -> Update Project", tanto en el caso de "Cambio en la versión del parent", como en el caso de "Cambio en las librerías propias".

En los servidores, Las dependencias se actualizarán cuando se lance el pipeline de desarrollo y serán las mismas en el resto de pipelines, eso quiere decir que contrariamente a lo que pasa con FundeWeb, no se usaran las nuevas librerías si hacemos un redespliegue de producción o lanzamos el pipeline completo de producción, con esto evitamos que lleguen a producción cambios que no han sido probado primero en desarrollo.

Ejemplo practico

Cambio en la versión del parent

    El parent pasa de la versión 1.0.4 a la versión 1.0.5-SNAPSHOT.

    Tenemos que cambiar en el pom del proyecto la versión del parent que quedaría:

<parent>
    <groupId>es.um.atica</groupId>
    <artifactId>fundewebjs-api-parent</artifactId>
    <version>1.0.5-SNAPSHOT</version>
    <relativePath>../pom.xml</relativePath>
</parent>


    Hacemos "Maven -> Update Project" y probamos que todo va bien en local.

    Subimos a gitlab, hacemos merge con desarrollo y comprobamos que todo va bien.

 Cambio en las librerías propias

    Han cambiado las librerías propias pero no la versión del parent.

    Hacemos "Maven -> Update Project" y probamos que todo va bien en local.

    Subimos a gitlab, hacemos merge con desarrollo y comprobamos que todo va bien.


  • Sin etiquetas