Sobes.tech
Middle

Jak se ve vývojovém procesu používají proměnné verzí? Jak jsou vytvářeny a odkud jsou načítány?

sobes.tech AI

Odpověď od AI

Proměnné verzí se používají k identifikaci konkrétního stavu nebo vydání softwarového produktu. Pomáhají sledovat změny, spravovat vydání a zajišťovat reprodukovatelnost sestav.

Hlavní způsoby použití:

  • Identifikace sestavy: Každé sestavě je přiřazen jedinečný identifikátor, který může obsahovat číslo verze, hash commitu, časové razítko.
  • Správa vydání: Proměnné verzí umožňují jasně rozlišit stabilní vydání, beta verze a noční sestavení.
  • Obnovení: V případě problémů lze rychle přejít na předchozí funkční verzi pomocí jejího identifikátoru.
  • Záznam a sledování: V protokolech a metrikách je uvedena verze aplikace, což usnadňuje diagnostiku.

Vytváření a zdroje:

  • Systémy správy verzí (Git, SVN):
    • Štítky: Ručně nebo automaticky vytvářené k označení důležitých bodů (například vydání).
    • Hash commitu: Unikátní identifikátor každého commitu.
  • Systémy CI/CD (Jenkins, GitLab CI, GitHub Actions, CircleCI):
    • Předdefinované proměnné: Systémy CI/CD poskytují proměnné obsahující informace o aktuálním běhu (číslo sestavení, větev, hash commitu).
    • Sestavovací skripty: Proměnné verzí mohou být generovány skripty během sestavení na základě dat SCM a CI/CD.
  • Automatické generátory verzí: Nástroje, které analyzují historii commitů (například na základě Conventional Commits) a automaticky generují sémantická čísla verzí (Major.Minor.Patch).
  • Konfigurační soubory: Verze může být uvedena v konfiguračních souborech projektu (například package.json v Node.js, pom.xml v Maven).

Příklady:

# Získání hash posledního commitu v Git
git rev-parse HEAD
// Jenkins pipeline - získání čísla sestavení z předdefinované proměnné
println "Číslo sestavení: ${env.BUILD_NUMBER}"
# GitLab CI - získání větve a hash commitu
# z předdefinovaných proměnných
proměnné:
  GIT_BRANCH: $CI_COMMIT_BRANCH
  GIT_COMMIT: $CI_COMMIT_SHA

Proměnné verzí jsou integrovány do procesu sestavení a nasazení následujícím způsobem:

  • Proměnné prostředí: Systémy CI/CD exportují informace jako proměnné prostředí.
  • Příkazové řádky argumenty: Předávají se do skriptů sestavení.
  • Konfigurační soubory: Čtou se nástroji pro sestavení.
  • Pluginy a rozšíření: Nástroje pro sestavení a systémy CI/CD mají pluginy pro integraci s SCM a automatické získávání informací o verzi.