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.

Une erreur non gérée est survenue. Rafraîchir 🗙