Introducció
Spring Boot inclou una sèrie de funcions addicionals per a ajudar a supervisar i gestionar les aplicacions.
L’objectiu d’aquest article és mostrar l’ús del servei info de l’actuator de Spring per a exposar la informació dinàmica de construcció de l’aplicació.
Justificació
Un dels principals reptes d’una aplicació és exposar de forma fàcil i ràpida informació de compilació de l’aplicació. En aquest sentit:
-
El plugin spring-boot-maven-plugin s’encarrega de generar el fitxer
build-info.properties
amb informació detallada de construcció de l’aplicació extreta del fitxer POM (Project Object Model) de l’aplicació, -
La llibreria spring-boot-starter-actuator ofereix (entre molts altres com: beans, mètriques, health, conditions, logger, etcètera) l’http endpoint info que proporciona informació que ens servirà per a identificar el servei.
A continuació s’explica com configurar i fer ús d’aquests dos components per a exposar aquesta informació i així permetre a l’usuari, per exemple, identificar la versió desplegada en cada moment.
Plugin spring-boot-maven-plugin
Configuració
Per a fer servir el spring-boot-maven-plugin
serà necessari afegir-lo al fitxer pom.xml
de l’aplicació i configurar el goal build-info.
En cas de generar l’aplicació mitjançant el Plugin de Canigó per Eclipse,
el projecte ja disposarà d’aquest plugin configurat per defecte. No obstant això, caldrà afegir el corresponent goal
tal com es mostra a continuació:
<plugins>
...
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>build-info</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
Funcionament
En executar la comanda de construcció Maven, el plugin generarà el fitxer ./target/classes/META-INF/build-info.properties
amb informació detallada de construcció de l’aplicació. Per exemple:
build.artifact=TestCanigo
build.group=cat.gencat.testcanigo
build.name=Nom del projecte
build.time=2022-07-04T10\:25\:01.770Z
build.version=1.0.0
Actuator de Spring Boot
Configuració
Per a fer ús de l’actuator de Spring Boot
serà necessari afegir la corresponent llibreria com a dependència al fitxer pom.xml
de l’aplicació, tal com es mostra a continuació:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
L’actuator ofereix diferents endpoints amb informació diversa. En aquest cas, caldrà configurar l’endpoint info
al fitxer application.yml
:
management:
endpoints:
web:
exposure:
include: info
info:
git:
mode: full
enabled: true
Funcionament
Un cop construïda i iniciada l’aplicació, es podrà accedir via navegador web a l’endpoint info i ens mostrarà la informació detallada de construcció de l’aplicació. Es pot veure al següent exemple:
Conclusió
És possible configurar un projecte Canigó per a permetre consultar de forma fàcil i ràpida la informació de construcció de l’aplicació.
Referències
Per a més informació podeu consultar: