Versionnage et Build
Les projets professionnels nécessitent un contrÎle de version fiable et un processus de build standardisé.
Lino adopte le Semantic Versioning (SemVer) pour gérer les versions de chaque service et fournit des commandes pour générer des images Docker déjà nommées en fonction de la version active du service.
Gestion des Versions des Services
Chaque service dans Lino possÚde un versionnage indépendant, ce qui leur permet d'évoluer à des rythmes différents sans nécessiter de synchronisation globale.
Standard SemVer
MAJOR.MINOR.PATCH
- MAJOR â changements incompatibles (breaking changes).
- MINOR â nouvelles fonctionnalitĂ©s compatibles.
- PATCH â corrections de bugs et amĂ©liorations internes.
Exemples :
1.0.0 â premiĂšre version stable.
1.1.0 â nouveaux endpoints ajoutĂ©s sans casser la compatibilitĂ©.
2.0.0 â changements nĂ©cessitant une mise Ă jour des clients.
Commande lino version
Le CLI offre un support natif pour lâincrĂ©mentation des versions :
lino version bump
Lâassistant interactif vous guidera pour choisir le type dâincrĂ©ment (major, minor, patch) et mettra automatiquement Ă jour le fichier de configuration du service avec la nouvelle version.
Chaque exécution met à jour le manifeste de version du service, garantissant :
- Suivi clair des changements.
- Conformité avec les pratiques de release.
- Alignement avec les pipelines CI/CD.
Build dâimages Docker
Lino génÚre automatiquement des images Docker pour chaque version de service ou application web, éliminant les tùches manuelles.
Convention de nommage :
nom-projet/services/nom-service : major.minor.patch
Les images peuvent ĂȘtre publiĂ©es sur nâimporte quel registre :
- Docker Hub
- GitHub Container Registry
- AWS ECR
- Azure Container Registry
- ou tout autre dépÎt compatible.
Commande lino build
Pour compiler et gĂ©nĂ©rer des images Docker, il suffit dâexĂ©cuter :
lino build
Ce qui se passe dans ce processus :
1. Le code du service et/ou de lâapplication web est compilĂ©.
2. Les configurations nĂ©cessaires (chaĂźnes de connexion, secrets, variables dâenvironnement) sont appliquĂ©es.
3. Une image Docker est générée en fonction de la version SemVer actuelle.
4. Lâimage reçoit un nom et un tag standardisĂ©s.
Ce processus garantit des builds cohérents et reproductibles, réduisant les erreurs en production et accélérant le déploiement dans les pipelines CI/CD.
Ainsi, Lino combine un versionnage indĂ©pendant par service avec un processus de build automatisĂ©, offrant une gouvernance des releases et une distribution fiable dans nâimporte quel environnement.
