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