Sobes.tech
Middle

Ako sa v procese vývoja používajú premenné verzií? Ako sa vytvárajú a odkiaľ sa načítavajú?

sobes.tech AI

Odpoveď od AI

Premenné verzií sa používajú na identifikáciu konkrétneho stavu alebo vydania softvérového produktu. Pomáhajú sledovať zmeny, riadiť vydania a zabezpečiť reprodukovateľnosť zostáv.

Hlavné spôsoby použitia:

  • Identifikácia zostavy: Každá zostava má pridelený jedinečný identifikátor, ktorý môže obsahovať číslo verzie, hash commitu, časové razítko.
  • Riadenie vydaní: Premenné verzií umožňujú jasne odlíšiť stabilné vydania, beta verzie a nočné zostavy.
  • Obnova: Pri problémoch je možné rýchlo sa vrátiť k predchádzajúcej funkčnej verzii pomocou jej identifikátora.
  • Logovanie a monitorovanie: V logoch a metrikách sa uvádza verzia aplikácie, čo uľahčuje diagnostiku.

Vytváranie a zdroje:

  • Systémy kontroly verzií (Git, SVN):
    • Tagy: Sú vytvárané ručne alebo automaticky na označenie významných bodov (napríklad vydania).
    • Hash commitu: Jedinečný identifikátor každého commitu.
  • CI/CD systémy (Jenkins, GitLab CI, GitHub Actions, CircleCI):
    • Preddefinované premenné: Systémy CI/CD poskytujú premenné obsahujúce informácie o aktuálnom behu (číslo zostavy, vetva, hash commitu).
    • Skripty zostáv: Premenné verzií môžu byť generované skriptami počas zostavy na základe údajov z SCM a CI/CD.
  • Automatické generátory verzií: Nástroje, ktoré analyzujú históriu commitov (napríklad na základe Conventional Commits) a automaticky generujú semantické čísla verzií (Major.Minor.Patch).
  • Konfiguračné súbory: Verzia môže byť uvedená v konfiguračných súboroch projektu (napríklad package.json v Node.js, pom.xml v Maven).

Príklady:

# Získanie hashu posledného commitu v Git
git rev-parse HEAD
// Jenkins Pipeline - získanie čísla zostavy z preddefinovanej premennej
println "Build Number: ${env.BUILD_NUMBER}"
# GitLab CI - získanie vetvy a hashu commitu
# z preddefinovaných premenných
variables:
  GIT_BRANCH: $CI_COMMIT_BRANCH
  GIT_COMMIT: $CI_COMMIT_SHA

Premenné verzií sa načítavajú do procesu zostavovania a nasadzovania cez:

  • Premenné prostredia: CI/CD systémy exportujú informácie ako premenné prostredia.
  • Argumenty príkazového riadku: Sú odovzdávané do skriptov na zostavenie.
  • Konfiguračné súbory: Sú čítané nástrojmi na zostavenie.
  • Pluginy a rozšírenia: Nástroje na zostavenie a CI/CD systémy majú pluginy na integráciu so SCM a automatické získavanie informácií o verzii.