Sobes.tech
Middle

Comment les variables de version sont-elles utilisées dans le processus de développement ? Comment sont-elles créées et d'où proviennent-elles ?

sobes.tech IA

Réponse de l'IA

Les variables de version sont utilisées pour identifier un état ou une version spécifique du produit logiciel. Elles aident à suivre les changements, gérer les versions et assurer la reproductibilité des builds.

Principales méthodes d'utilisation :

  • Identification de build : Chaque build se voit attribuer un identifiant unique, pouvant inclure le numéro de version, le hash du commit, la marque temporelle.
  • Gestion des releases : Les variables de version permettent de distinguer clairement les releases stables, les versions bêta et les builds nocturnes.
  • Rollback : En cas de problème, il est possible de revenir rapidement à une version précédente fonctionnelle en utilisant son identifiant.
  • Logging et monitoring : Dans les logs et métriques, la version de l'application est indiquée, ce qui facilite le diagnostic.

Création et sources :

  • Systèmes de contrôle de version (Git, SVN) :
    • Étiquettes : Créées manuellement ou automatiquement pour marquer des points importants (par exemple, releases).
    • Hash du commit : Identifiant unique de chaque commit.
  • Systèmes CI/CD (Jenkins, GitLab CI, GitHub Actions, CircleCI) :
    • Variables prédéfinies : Les systèmes CI/CD fournissent des variables contenant des informations sur l'exécution en cours (numéro de build, branche, hash du commit).
    • Scripts de build : Les variables de version peuvent être générées par des scripts lors du build, à partir des données SCM et CI/CD.
  • Générateurs automatiques de versions : Outils qui analysent l'historique des commits (par exemple, basé sur Conventional Commits) et génèrent automatiquement des numéros de version sémantiques (Major.Minor.Patch).
  • Fichiers de configuration : La version peut être spécifiée dans des fichiers de configuration du projet (par exemple, package.json en Node.js, pom.xml en Maven).

Exemples :

# Récupérer le hash du dernier commit dans Git
git rev-parse HEAD
// Pipeline Jenkins - récupérer le numéro de build à partir d'une variable prédéfinie
println "Numéro de build : ${env.BUILD_NUMBER}"
# GitLab CI - récupérer la branche et le hash du commit
# à partir de variables prédéfinies
variables:
  GIT_BRANCH: $CI_COMMIT_BRANCH
  GIT_COMMIT: $CI_COMMIT_SHA

Les variables de version sont intégrées dans le processus de build et de déploiement via :

  • Variables d'environnement : Les systèmes CI/CD exportent des informations sous forme de variables d'environnement.
  • Arguments en ligne de commande : Transmis aux scripts de build.
  • Fichiers de configuration : Lus par les outils de build.
  • Plugins et extensions : Les outils de build et les systèmes CI/CD disposent de plugins pour l'intégration avec SCM et la récupération automatique des informations de version.