Sobes.tech
Middle

Kuidas kasutatakse versiooni muutujad arendusprotsessis? Kuidas need luuakse ja kust need hangitakse?

sobes.tech AI

Vastus AI-lt

Versiooni muutujad kasutatakse konkreetse oleku või väljaandmise tuvastamiseks. Need aitavad jälgida muudatusi, hallata väljaandeid ja tagada koostiste korduvkasutatavust.

Põhjalikud kasutusviisid:

  • Koostise identifitseerimine: Iga koostis saab unikaalse identifikaatori, mis võib sisaldada versiooni numbrit, commit hash'i, ajatemplit.
  • Väljaannete haldamine: Versiooni muutujad võimaldavad selgelt eristada stabiilseid väljaandeid, beetaversioone ja öiseid koostisi.
  • Tagasipöördumine: Probleemide korral saab kiiresti naasta eelneva töökindla versiooni juurde, kasutades selle identifikaatorit.
  • Logimine ja jälgimine: Logides ja mõõdikutes näidatakse rakenduse versiooni, mis lihtsustab diagnostikat.

Loomine ja allikad:

  • Versioonikontrollisüsteemid (Git, SVN):
    • Sildid: Loovad need käsitsi või automaatselt oluliste punktide märkimiseks (näiteks väljaanded).
    • Commit hash: Iga commiti unikaalne identifikaator.
  • CI/CD süsteemid (Jenkins, GitLab CI, GitHub Actions, CircleCI):
    • Eelmääratletud muutujad: Süsteemid pakuvad muutujaid, mis sisaldavad teavet jooksva käivitamise kohta (koostise number, haru, commit hash).
    • Koostise skriptid: Versiooni muutujad võivad olla genereeritud skriptide abil koostise ajal, tuginedes SCM ja CI/CD andmetele.
  • Automaatsed versiooni generaatorid: Tööriistad, mis analüüsivad commitide ajalugu (näiteks, Conventional Commits põhjal) ja genereerivad automaatselt semantilisi numbreid (Major.Minor.Patch).
  • Konfiguratsioonifailid: Versiooni võib määratleda projekti konfiguratsioonifailides (näiteks, package.json Node.js jaoks, pom.xml Maven jaoks).

Näited:

# Viimase commiti hash'i saamine Git'is
git rev-parse HEAD
// Jenkins Pipeline - koostise numbri saamine eelmääratletud muutujast
println "Build Number: ${env.BUILD_NUMBER}"
# GitLab CI - haru ja commiti hash'i saamine
# eelmääratletud muutujatest
variables:
  GIT_BRANCH: $CI_COMMIT_BRANCH
  GIT_COMMIT: $CI_COMMIT_SHA

Versiooni muutujad võetakse kasutusele koostamise ja juurutamise protsessis:

  • Keskkonnamuutujad: CI/CD süsteemid ekspordivad teavet keskkonnamuutujatena.
  • Käsurea argumendid: Neid edastatakse koostise skriptidele.
  • Konfiguratsioonifailid: Neid loevad koostise tööriistad.
  • Pluginate ja laienduste kaudu: Koostise tööriistad ja CI/CD süsteemid omavad pluginaid SCM-iga integreerimiseks ja automaatselt versiooni teabe saamiseks.