Sobes.tech
Middle

Come vengono utilizzate le variabili di versione nel processo di sviluppo? Come vengono create e da dove vengono prelevate?

sobes.tech AI

Risposta dell'AI

Le variabili di versione vengono utilizzate per identificare uno stato o una release specifica del prodotto software. Aiutano a tracciare le modifiche, gestire le release e garantire la riproducibilità delle build.

Principali modalità di utilizzo:

  • Identificazione della build: A ogni build viene assegnato un identificatore univoco, che può includere il numero di versione, l'hash del commit, il timestamp.
  • Gestione delle release: Le variabili di versione permettono di distinguere chiaramente tra release stabili, versioni beta e build notturne.
  • Rollback: In caso di problemi, è possibile tornare rapidamente a una versione funzionante precedente usando il suo identificatore.
  • Logging e monitoraggio: Nei log e nelle metriche viene indicata la versione dell'applicazione, facilitando la diagnosi.

Creazione e fonti:

  • Sistemi di controllo versione (Git, SVN):
    • Tag: Creati manualmente o automaticamente per segnare punti significativi (ad esempio, release).
    • Hash del commit: Identificatore univoco di ogni commit.
  • Sistemi CI/CD (Jenkins, GitLab CI, GitHub Actions, CircleCI):
    • Variabili predefinite: I sistemi CI/CD forniscono variabili contenenti informazioni sull'esecuzione corrente (numero di build, branch, hash del commit).
    • Script di build: Le variabili di versione possono essere generate tramite script durante la build, basandosi sui dati SCM e CI/CD.
  • Generatori automatici di versioni: Strumenti che analizzano la storia dei commit (ad esempio, basandosi su Conventional Commits) e generano automaticamente numeri di versione semantici (Major.Minor.Patch).
  • File di configurazione: La versione può essere specificata nei file di configurazione del progetto (ad esempio, package.json in Node.js, pom.xml in Maven).

Esempi:

# Ottenere hash dell'ultimo commit in Git
git rev-parse HEAD
// Pipeline Jenkins - ottenere il numero di build da una variabile predefinita
println "Numero di build: ${env.BUILD_NUMBER}"
# GitLab CI - ottenere branch e hash del commit
# da variabili predefinite
variabili:
  GIT_BRANCH: $CI_COMMIT_BRANCH
  GIT_COMMIT: $CI_COMMIT_SHA

Le variabili di versione vengono integrate nel processo di build e deploy tramite:

  • Variabili d'ambiente: I sistemi CI/CD esportano informazioni come variabili d'ambiente.
  • Argomenti da linea di comando: Passati agli script di build.
  • File di configurazione: Lettura da parte degli strumenti di build.
  • Plugin e estensioni: Gli strumenti di build e i sistemi CI/CD dispongono di plugin per l'integrazione con SCM e l'acquisizione automatica delle informazioni di versione.