Sobes.tech
Middle

Comment versionnez-vous les tableaux dans vos projets?

sobes.tech IA

Réponse de l'IA

Nous utilisons la versionnage sémantique (SemVer) sous la forme MAJOR.MINOR.PATCH.

  • MAJOR : Changements qui rompent la compatibilité ascendante.
  • MINOR : Ajout de fonctionnalités tout en conservant la compatibilité ascendante.
  • PATCH : Corrections de bugs tout en conservant la compatibilité ascendante.

Les pratiques suivantes sont appliquées :

  • La version du chart est indiquée dans le fichier Chart.yaml.
  • À chaque modification du chart affectant le déploiement (même mineure), la version est incrémentée selon SemVer.
  • Des tags Git sont utilisés pour fixer les versions des charts. Le tag correspond à la version du chart (par exemple, mychart-1.2.3).
  • Lors du déploiement, une version spécifique du chart est utilisée, pas la dernière.
  • La versionning est intégrée dans le pipeline CI/CD.

Exemple de Chart.yaml :

# Chart.yaml
apiVersion: v2
name: my-app
description: Un chart Helm pour mon application
version: 1.2.3 # Version du chart
appVersion: "1.0.0" # Version de l'application

Flux CI/CD :

  1. Le développeur apporte des modifications au chart.
  2. Une demande de fusion est ouverte.
  3. Le pipeline CI effectue le linting et les tests du chart (helm lint, helm test).
  4. Lors de la fusion dans la branche principale, la version du chart est incrémentée (manuellement ou automatiquement via des outils CI/CD).
  5. Une étiquette Git est créée avec la nouvelle version du chart.
  6. Les charts sont empaquetés (helm package) et publiés dans un dépôt de charts (par exemple, Artifactory, Nexus, OCI Registry).

Cela permet de revenir à des versions antérieures et de définir clairement les changements entre les versions.