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.jsonv Node.js,pom.xmlv 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.