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.jsonNode.js esetén,pom.xmlMaven 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.