Middle
Cum sunt utilizate variabilele de versiune în procesul de dezvoltare? Cum sunt create și de unde sunt preluate?
sobes.tech AI
Răspuns de la AI
Variabilele de versiune sunt utilizate pentru a identifica o stare sau o versiune specifică a produsului software. Ele ajută la urmărirea modificărilor, gestionarea lansărilor și asigurarea reproductibilității construcțiilor.
Modalități principale de utilizare:
- Identificarea construcției: Fiecare construcție primește un identificator unic, care poate include numărul versiunii, hash-ul commit-ului, marca de timp.
- Gestionarea lansărilor: Variabilele de versiune permit diferențierea clară între lansări stabile, versiuni beta și construcții nocturne.
- Revenire: În caz de probleme, se poate reveni rapid la o versiune anterioară funcțională folosind identificatorul acesteia.
- Jurnalizare și monitorizare: În jurnale și metrici, se indică versiunea aplicației, ceea ce facilitează diagnoza.
Creare și surse:
- Sisteme de control al versiunilor (Git, SVN):
- Etichete: Crează manual sau automat pentru a marca puncte importante (de exemplu, lansări).
- Hash-ul commit-ului: Identificator unic pentru fiecare commit.
- Sisteme CI/CD (Jenkins, GitLab CI, GitHub Actions, CircleCI):
- Variabile predefinite: Sistemele CI/CD oferă variabile care conțin informații despre execuția curentă (numărul construcției, ramura, hash-ul commit-ului).
- Scripturi de construcție: Variabilele de versiune pot fi generate de scripturi în timpul construcției, pe baza datelor SCM și CI/CD.
- Generatori automați de versiuni: Instrumente care analizează istoricul commit-urilor (de exemplu, bazate pe Conventional Commits) și generează automat numere de versiune semantică (Major.Minor.Patch).
- Fișiere de configurare: Versiunea poate fi specificată în fișierele de configurare ale proiectului (de exemplu,
package.jsonîn Node.js,pom.xmlîn Maven).
Exemple:
# Obține hash-ul ultimului commit în Git
git rev-parse HEAD
// Pipeline Jenkins - obține numărul construcției dintr-o variabilă predefinită
println "Numărul construcției: ${env.BUILD_NUMBER}"
# GitLab CI - obține ramura și hash-ul commit-ului
# din variabile predefinite
variabile:
GIT_BRANCH: $CI_COMMIT_BRANCH
GIT_COMMIT: $CI_COMMIT_SHA
Variabilele de versiune sunt integrate în procesul de construcție și implementare prin:
- Variabile de mediu: Sistemele CI/CD exportă informații ca variabile de mediu.
- Argumente din linia de comandă: Transmise scripturilor de construcție.
- Fișiere de configurare: Citite de instrumentele de construcție.
- Plugin-uri și extensii: Instrumentele de construcție și sistemele CI/CD dispun de plugin-uri pentru integrare cu SCM și pentru obținerea automată a informațiilor despre versiune.