Sobes.tech
Middle

Kaip naudojamos versijos kintamosios proceso metu? Kaip jos sukuriamos ir iš kur jos gaunamos?

sobes.tech AI

Atsakymas iš AI

Versijos kintamieji naudojami konkrečios būsenos ar leidimo identifikavimui. Jie padeda stebėti pakeitimus, valdyti leidimus ir užtikrinti atkuriamumą.

Pagrindiniai naudojimo būdai:

  • Rinkinys identifikavimas: Kiekvienam rinkiniui priskiriamas unikalus identifikatorius, kuris gali apimti versijos numerį, commit hash, laiko žymą.
  • Leidimų valdymas: Versijos kintamieji leidžia aiškiai atskirti stabilias leidimus, beta versijas ir naktinius rinkinius.
  • Atstatymas: Jei kyla problemų, galima greitai grįžti prie ankstesnės veikiamos versijos, naudojant jos identifikatorių.
  • Žurnalavimas ir stebėjimas: Žurnaluose ir metrikose nurodoma programėlės versija, kas palengvina diagnostiką.

Kūrimas ir šaltiniai:

  • Versijų kontrolės sistemos (Git, SVN):
    • Žymės: Sukuriamos rankiniu būdu arba automatiškai žymėti reikšmingus taškus (pvz., leidimus).
    • Commit hash: Unikalus kiekvieno commito identifikatorius.
  • CI/CD sistemos (Jenkins, GitLab CI, GitHub Actions, CircleCI):
    • Iš anksto apibrėžtos kintamosios: CI/CD sistemos teikia kintamuosius, turinčius informaciją apie dabartinį paleidimą (kūrimo numeris, šaka, commit hash).
    • Kūrimo scenarijai: Versijos kintamieji gali būti generuojami scenarijų proceso metu, remiantis SCM ir CI/CD duomenimis.
  • Automatiniai versijų generatoriai: Įrankiai, analizuojantys commit istoriją (pvz., pagal Conventional Commits) ir automatiškai generuojantys semantinius numerius (Major.Minor.Patch).
  • Konfigūracijos failai: Versija gali būti įrašyta projekto konfigūracijos failuose (pvz., package.json Node.js, pom.xml Maven).

Pavyzdžiai:

# Gauti paskutinio commito hash Git
git rev-parse HEAD
// Jenkins Pipeline - gauti kūrimo numerį iš iš anksto apibrėžtos kintamosios
println "Build Number: ${env.BUILD_NUMBER}"
# GitLab CI - gauti šaką ir commit hash
# iš iš anksto apibrėžtų kintamųjų
variables:
  GIT_BRANCH: $CI_COMMIT_BRANCH
  GIT_COMMIT: $CI_COMMIT_SHA

Versijos kintamieji yra įtraukiami į kūrimo ir diegimo procesą per:

  • Aplinkos kintamieji: CI/CD sistemos eksportuoja informaciją kaip aplinkos kintamuosius.
  • Komandų eilutės argumentai: Jie perduodami į kūrimo scenarijus.
  • Konfigūracijos failai: Jie skaitomi įrankių, atliekant jų vykdymą.
  • Priedai ir plėtiniai: Kūrimo įrankiai ir CI/CD sistemos turi papildinius, skirtus integracijai su SCM ir automatiškai gauti versijos informaciją.