Laboratorio: El ciclo de vida del desarrollo de software (SDLC) contenerizado
Tabla de contenidos
Construye una API Node.js real y luego aplica contenedores en cada etapa del ciclo de vida de desarrollo de software. Escribirás un archivo Compose para el desarrollo local, pruebas de integración con Testcontainers, una tubería (pipeline) de CI/CD y manifiestos de Kubernetes, utilizando la misma imagen de contenedor en todo el proceso.
Iniciar el laboratorio
Inicia el labspace:
$ docker compose -p labspace -f oci://dockersamples/labspace-containerized-sdlc up -dAbre tu navegador en http://dockerlabs.xyz.
Cuando hayas terminado, elimina el labspace:
$ docker compose -p labspace down
Qué aprenderás
Al final de este Labspace, habrás completado lo siguiente:
- Configurar un entorno de desarrollo local contenerizado con Docker Compose y Compose Watch.
- Escribir pruebas de integración que inicien una base de datos real utilizando Testcontainers.
- Construir una tubería (pipeline) de CI/CD que pruebe, construya y publique una imagen de contenedor automáticamente.
- Escribir manifiestos de Kubernetes y desplegar una aplicación en vivo en un clúster k3s.
- Configurar la tubería para provocar un despliegue automático en cada confirmación (push) a
main.
Módulos
| # | Módulo | Descripción |
|---|---|---|
| 1 | Introducción: Conociendo la aplicación | Recorrido por la API de TaskFlow y comprensión del viaje del SDLC que nos espera |
| 2 | Desarrollo local con Docker Compose | Escribir un compose.yaml para aprovisionar una base de datos local y un visualizador |
| 3 | Contenerizar tu entorno de desarrollo | Agregar la aplicación a Compose con recarga en caliente (hot-reloading) a través de Compose Watch |
| 4 | Pruebas de integración con Testcontainers | Escribir pruebas independientes que inicien un contenedor real de PostgreSQL |
| 5 | Integración continua con Gitea Actions | Construir una tubería que pruebe, construya y publique una imagen de contenedor |
| 6 | Despliegue en Kubernetes | Escribir manifiestos y desplegar en un clúster k3s en vivo con implementaciones automatizadas |
| 7 | El SDLC contenerizado: Una recapitulación | Revisar los beneficios de portabilidad, coherencia y reproducibilidad obtenidos |