Sobes.tech
Middle

Hogyan használják a verzióváltozókat a fejlesztési folyamat során? Hogyan készülnek és honnan származnak?

sobes.tech MI

Válasz az MI-től

A verzióváltozók a szoftvertermék egy adott állapotának vagy kiadásának azonosítására szolgálnak. Segítenek nyomon követni a változásokat, kezelni a kiadásokat és biztosítani az építések reprodukálhatóságát.

Fő felhasználási módok:

  • Építés azonosítása: Minden építéshez egyedi azonosítót rendelnek, amely tartalmazhatja a verziószámot, a commit hash-t, az időbélyeget.
  • Kiadáskezelés: A verzióváltozók lehetővé teszik a stabil kiadások, béta verziók és éjszakai építések egyértelmű megkülönböztetését.
  • Visszaállítás: Probléma esetén gyorsan vissza lehet térni egy korábbi működő verzióhoz az azonosítója segítségével.
  • Naplózás és monitorozás: A naplókban és metrikákban megjelenik az alkalmazás verziója, ami megkönnyíti a diagnosztikát.

Létrehozás és források:

  • Verziókezelő rendszerek (Git, SVN):
    • Címkék: Kézzel vagy automatikusan létrehozva, hogy fontos pontokat jelöljenek (pl. kiadások).
    • Commit hash: Minden commit egyedi azonosítója.
  • CI/CD rendszerek (Jenkins, GitLab CI, GitHub Actions, CircleCI):
    • Előre definiált változók: A CI/CD rendszerek olyan változókat biztosítanak, amelyek információkat tartalmaznak a jelenlegi futásról (építés száma, ág, commit hash).
    • Építési szkriptek: A verzióváltozók generálhatók szkriptek által az SCM és CI/CD adatok alapján.
  • Automatikus verziógenerátorok: Eszközök, amelyek elemzik a commitok történetét (pl. a Conventional Commits alapján) és automatikusan generálják a szemiotikus verziószámokat (Major.Minor.Patch).
  • Konfigurációs fájlok: A verzió megadható a projekt konfigurációs fájljaiban (pl. package.json Node.js esetén, pom.xml Maven esetén).

Példák:

# A legutóbbi commit hashének lekérése Git-ben
git rev-parse HEAD
// Jenkins pipeline - a build számának lekérése egy előre definiált változóból
println "Build szám: ${env.BUILD_NUMBER}"
# GitLab CI - a branch és a commit hash lekérése
# előre definiált változókból
változók:
  GIT_BRANCH: $CI_COMMIT_BRANCH
  GIT_COMMIT: $CI_COMMIT_SHA

A verzióváltozók beépülnek a build és telepítési folyamatba az alábbi módon:

  • Környezeti változók: A CI/CD rendszerek információkat exportálnak környezeti változóként.
  • Parancssori argumentumok: Átadódnak a build szkripteknek.
  • Konfigurációs fájlok: A build eszközök olvassák be őket.
  • Pluginek és kiegészítők: A build eszközök és CI/CD rendszerek pluginekkel rendelkeznek a SCM-hez való integrációhoz és az automatikus verzióinformációk beszerzéséhez.