Versionado y Build
Los proyectos profesionales requieren un control de versiones confiable y un proceso de build estandarizado.
Lino adopta Semantic Versioning (SemVer) para gestionar las versiones de cada servicio y proporciona comandos para generar imágenes Docker ya nombradas según la versión activa del servicio.
Versionado de Servicios
Cada servicio en Lino tiene un versionado independiente, lo que les permite evolucionar a ritmos distintos sin requerir sincronización global.
Estándar SemVer
MAJOR.MINOR.PATCH
- MAJOR → cambios incompatibles (breaking changes).
- MINOR → nuevas funcionalidades compatibles.
- PATCH → correcciones de errores y mejoras internas.
Ejemplos:
1.0.0 → primera versión estable.
1.1.0 → nuevos endpoints añadidos sin romper compatibilidad.
2.0.0 → cambios que requieren actualización de los clientes.
Comando lino version
El CLI ofrece soporte nativo para incrementar versiones:
lino version bump
El asistente interactivo te guiará para elegir el tipo de incremento (major, minor, patch) y actualizará automáticamente el archivo de configuración del servicio con la nueva versión.
Cada ejecución actualiza el manifiesto de versión del servicio, garantizando:
- Seguimiento claro de cambios.
- Consistencia con prácticas de release.
- Alineación con pipelines de CI/CD.
Build de Imágenes Docker
Lino genera automáticamente imágenes Docker para cada versión de servicio o aplicación web, eliminando tareas manuales.
Convención de nomenclatura:
nombre-proyecto/services/nombre-servicio : major.minor.patch
Las imágenes se pueden publicar en cualquier registro:
- Docker Hub
- GitHub Container Registry
- AWS ECR
- Azure Container Registry
- o cualquier otro repositorio compatible.
Comando lino build
Para compilar y generar imágenes Docker, simplemente ejecute:
lino build
Lo que ocurre en este proceso:
1. Se compila el código del servicio y/o de la aplicación web.
2. Se aplican las configuraciones necesarias (connection strings, secrets, variables de entorno).
3. Se genera una imagen Docker basada en la versión SemVer actual.
4. La imagen recibe un nombre y etiqueta estandarizados.
Este proceso garantiza builds consistentes y reproducibles, reduciendo fallos en entornos de producción y acelerando el despliegue en pipelines CI/CD.
Así, Lino combina versionado independiente por servicio con un proceso de build automatizado, ofreciendo gobernanza de releases y distribución confiable en cualquier entorno.
