Serie: Del código a producción

Una serie práctica para llevar una aplicación desde el desarrollo local hasta un despliegue reproducible y automatizado similar al de un entorno profesional.

Esta serie contiene 7 artículos y sigue creciendo.

1 Spring Boot Hello World

Spring Boot es en la actualidad un estándar en el desarrollo de aplicaciones Java, con mucho protagonismo en el mundo empresarial. Con una configuración inicial simplificada e inteligente permite levantar servicios en minutos. Incluye un servidor embebido y un ecosistema muy completo de starters que simplifican las dependencias necesarias para el desarrollo de muchos tipos de aplicaciones. Objetivo Para ejemplificar esta simplicidad, se desarrolla un servicio web con un solo endpoint que devuelva un mensaje de Hello World. ...

Artículo 1 de 7  ·  3 min

2 Pasos para instalar Maven en Windows

¿Qué es Maven? Apache Maven es una herramienta de gestión y automatización de proyectos Java. Su objetivo principal es simplificar ciertas tareas de desarrollo como la compilación, la gestión de dependencias, ejecución de test y generación de artefactos (como pueden ser los archivos JAR). La configuración del proyecto se centraliza en el fichero pom.xml (Project Object Model) a partir de la cual, Maven se encarga de descargar librerías y ejecutar las tareas correspondientes. ...

Artículo 2 de 7  ·  2 min

3 Compilar una aplicación Java usando Maven

Aunque hoy día existen muy buenos IDEs con numerosos plugins que permiten centrarse en el código y en el desarrollo de la propia aplicación, es útil también conocer qué hacen internamente y poder lanzar tareas de forma más cercana a cómo se haría en un entorno de producción. Objetivo Se trata de compilar y desplegar una aplicación Spring Boot con Maven utilizando los comandos correspondientes a Maven y Java. Prerrequisitos 1. Tener instalado y configurado Java. Para comprobarlo, lanzamos el siguiente comando en una terminal: ...

Artículo 3 de 7  ·  3 min

4 Pasos para instalar Docker en Windows

¿Qué es Docker? Docker permite crear y ejecutar aplicaciones dentro de contenedores, facilitando un entorno consistente y reproducible tanto en desarrollo y despliegue. Esto evita el clásico “en mi máquina funciona” y lo convierte en una herramienta clave en flujos modernos de CI/CD. Instalación de Docker en Windows En Windows, la forma recomendada de trabajar con Docker es mediante Docker Desktop, ya que su instalación es muy sencilla e incluye todo lo necesario para empezar. ...

Artículo 4 de 7  ·  3 min

5 Desplegar una aplicación Spring Boot en un contenedor

Hasta ahora, hemos creado una aplicación Hello World con Spring Boot, la hemos compilado con Maven y la hemos ejecutado correctamente en nuestro equipo. Sin embargo, ejecutar una aplicación en local es solo el primer paso. En cuanto queremos compartirla, desplegarla en un servidor o moverla entre distintos entornos (desarrollo, pruebas, producción), empiezan a aparecer los problemas clásicos: versiones diferentes de Java, dependencias que no coinciden, configuraciones específicas de la máquina o incluso sistemas operativos diferentes. ...

Artículo 5 de 7  ·  4 min

6 Primer test en Spring Boot

Alrededor de la programación hay una serie de tareas menos agradecidas y poco atractivas para la mayoría de los desarrolladores: el análisis, la documentación… los tests y las pruebas. Con cada nuevo evolutivo solemos lanzarnos directamente al teclado, abrir nuestro IDE y empezar a picar código, cuando muchas veces lo más efectivo a largo plazo es comenzar con papel y bolígrafo, desgranando qué queremos hacer realmente. Con las pruebas y los tests sucede algo similar. Durante el desarrollo vamos lanzando comprobaciones manuales y, cuando vemos que todo más o menos funciona, lo damos por válido. Puede que incluso documentemos alguna de ellas, pero suele percibirse como otra tarea pesada que no siempre motiva y que intentamos quitarnos de encima cuanto antes. ...

Artículo 6 de 7  ·  5 min

7 Compilar con Maven dentro de Docker - multi-stage build

Una vez que hemos desacoplado la ejecución de una aplicación de nuestro equipo y su entorno desplegándola en un contenedor, el siguiente paso es independizar también el proceso de compilación y construcción. El objetivo es evitar también problemas de configuraciones y dependencias relacionadas con el entorno de desarrollo, moviendo la responsabilidad a un proceso automatizado. De esta forma nos acercarnos más a un entorno de producción. Enfoque de partida El Dockerfile con el que hemos trabajado previamente incluye lo mínimo para desplegar el JAR: ...

Artículo 7 de 7  ·  5 min