Sobes.tech
Middle

Hoe worden versieb variables gebruikt in het ontwikkelproces? Hoe worden ze gemaakt en waar worden ze vandaan gehaald?

sobes.tech AI

Antwoord van AI

Versievariabelen worden gebruikt om een specifieke toestand of release van het softwareproduct te identificeren. Ze helpen bij het volgen van wijzigingen, het beheren van releases en het garanderen van reproduceerbaarheid van builds.

Belangrijkste gebruiksmethoden:

  • Build-identificatie: Elke build krijgt een unieke identifier, die het versienummer, commit-hash, timestamp kan bevatten.
  • Releasebeheer: Versievariabelen maken het mogelijk om stabiele releases, bètaversies en nachtelijke builds duidelijk te onderscheiden.
  • Rollback: Bij problemen kan snel worden teruggekeerd naar een vorige werkende versie met behulp van de identifier.
  • Logging en monitoring: In logs en metrics wordt de versie van de applicatie vermeld, wat de diagnose vergemakkelijkt.

Aanmaak en bronnen:

  • Versiebeheersystemen (Git, SVN):
    • Tags: Handmatig of automatisch gemaakt om belangrijke punten aan te duiden (bijvoorbeeld releases).
    • Commit-hash: Unieke identifier van elke commit.
  • CI/CD-systemen (Jenkins, GitLab CI, GitHub Actions, CircleCI):
    • Voorgedefinieerde variabelen: CI/CD-systemen bieden variabelen die informatie bevatten over de huidige run (build-nummer, tak, commit-hash).
    • Build-scripts: Versievariabelen kunnen worden gegenereerd door scripts tijdens de build op basis van SCM- en CI/CD-gegevens.
  • Automatische versiegeneratoren: Hulpmiddelen die de geschiedenis van commits analyseren (bijvoorbeeld op basis van Conventional Commits) en automatisch semantische versienummers genereren (Major.Minor.Patch).
  • Configuratiebestanden: De versie kan worden vermeld in projectconfiguratiebestanden (bijvoorbeeld package.json in Node.js, pom.xml in Maven).

Voorbeelden:

# Haal de hash van de laatste commit in Git op
git rev-parse HEAD
// Jenkins pipeline - verkrijg het build-nummer uit een vooraf gedefinieerde variabele
println "Build-nummer: ${env.BUILD_NUMBER}"
# GitLab CI - verkrijg tak en commit-hash
# uit vooraf gedefinieerde variabelen
variabelen:
  GIT_BRANCH: $CI_COMMIT_BRANCH
  GIT_COMMIT: $CI_COMMIT_SHA

Versievariabelen worden geïntegreerd in het build- en deploymentproces via:

  • Omgevingsvariabelen: CI/CD-systemen exporteren informatie als omgevingsvariabelen.
  • Commandoregelargumenten: Worden doorgegeven aan build-scripts.
  • Configuratiebestanden: Worden gelezen door build-tools.
  • Plugins en extensies: Build-tools en CI/CD-systemen beschikken over plugins voor integratie met SCM en automatische versie-informatie.