|

Changelog: de MD a HTML

Escenario

Me gusta que las aplicaciones Spring Boot en las que trabajo consten de un fichero de tipo markdown con el histórico de cambios por los que ha pasado el código. Dado que el número de versión aumenta cada vez que publico un cambio en el entorno de producción, gracias a un formato de este tipo puedo saber qué cambios y cuándo se introdujeron en tal versión desplegada.:

Problema

No es un problema en sí, utilizo la cabecera por respetar el formato de posts de estos últimos años. Es más bien una mejora relacionada con el fichero de CHANGELOG. Puesto que me preocupo por mantenerlo sería interesante que el cliente también pudiera apreciar los cambios realizados. Pero al estar el fichero en la raíz del directorio del código, no es accesible desde las plantillas de Spring Boot.

Solución

Usar un plugin de Grunt con una tarea que haga una copia del fichero de markdown en HTML y lo deje en una carpeta de /templates. No encontré ninguno disponible así que programé uno sencillo y lo di de alta en npmjs. A continuación lo incluí en el package.json de la aplicación, npm install grunt-changelog-to-html --save y configuré Gruntfile.js para que genera el fichero: Por último, creé un acción en un controlador y su correspondiente plantilla thymeleaf: Y ahora, gracias al plugin de maven frontend-maven-plugin cada vez que la aplicación es compilada (o sea, a cada despliegue por lo menos) se actualiza la página de changelog.

Publicaciones Similares

  • Hibernate no puede resolver la propiedad…

    Escenario En una aplicación Spring Boot v2.3.4 hay dos entidades Balance y Shop. Una tienda (shop) puede tener varios saldos y un saldo (Balance) ha de estar relacionado con una tienda. Además existen panaderías (Bakery) y sastrerías (TailorShop) que extienden la clase Shop:

    Y necesito saber cuál es la fecha del…

  • Partición adicional en disco con tabla MBR

    Escenario Tengo un disco de 4TB que usa una tabla de particiones MBR. Hay una partición de 2TB ya creada y necesito crear otra en el espacio disponible. Problema Según parted para crear la nueva partición por el siguiente problema: Error: starting sector number, 4294967296 exceeds the msdos-partition-table-imposed maximum of 4294967295 [plain]marcos@technoage:~$ sudo parted /dev/sdb…

  • Spring boot y websockets

    Escenario Un usuario se conecta con el móvil a su aplicación de empresa. Si es la primera vez que lo hace ésta le pide autorización para recabar su localización. La aplicación manda la localización al servidor y desde el servidor se informa a una página de monitorización. Dicha página está conectada por websocket con el…

  • La tabla mysql.plugin no existe

    Escenario Después de necesitar restaurar tres veces el servidor de MySql por culpa de varios crashs provocados por un fallo en el disco duro, encuentro en los logs entradas de este tipo: 2020-09-12T18:46:22.347957Z 5 [Warning] InnoDB: Cannot open table mysql/help_relation from the internal data2020-09-12T18:46:22.348985Z 5 [Warning] InnoDB: Cannot open table mysql/innodb_index_stats from the internal data dictionary of InnoDBdictionary Problema En varios foros leo que la solución pasa por hacer un:

    La cuestión es que, cuando lo intento, me encuentro…

  • Instalación certificado raíz Comodo

    Escenario Hemos migrado nuestro repositorio de git a un nuevo servidor y tenemos que actualizar las URLs de los orígenes de nuestros repositorios locales. Problema Cambiamos la url remota del repositorio local de git con el comando git remote set-url y, tras hacer un pull git nos devuelve el siguiente error: fatal: unable to access 'https://git.technoage.es/acme.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none Solución Por lo visto nuestra…

  • Directorio con permisos de escritura para los miembros de un mismo grupo

    Escenario Estoy desplegando una aplicación web en un directorio en el que pretendo puedan escribir todos los usuarios perteneciente a un grupo dado. Problema No basta con crear un grupo, añadir los usuarios al tal grupo y adjudicar el directorio al grupo en cuestión. Solución Empecemos desde el principio. Los usuarios Antonio y Carla han…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *