Sobes.tech
Middle

¿Cómo se utilizan las variables de versión en el proceso de desarrollo? ¿Cómo se crean y de dónde se obtienen?

sobes.tech AI

Respuesta de la IA

Las variables de versión se utilizan para identificar un estado o lanzamiento específico del producto de software. Ayudan a rastrear cambios, gestionar lanzamientos y garantizar la reproducibilidad de las compilaciones.

Formas principales de uso:

  • Identificación de compilación: A cada compilación se le asigna un identificador único, que puede incluir el número de versión, hash del commit, marca de tiempo.
  • Gestión de lanzamientos: Las variables de versión permiten distinguir claramente entre lanzamientos estables, versiones beta y compilaciones nocturnas.
  • Reversión: En caso de problemas, se puede volver rápidamente a una versión anterior funcional usando su identificador.
  • Registro y monitoreo: En los registros y métricas se indica la versión de la aplicación, lo que facilita el diagnóstico.

Creación y fuentes:

  • Sistemas de control de versiones (Git, SVN):
    • Etiquetas: Se crean manual o automáticamente para marcar puntos importantes (por ejemplo, lanzamientos).
    • Hash del commit: Identificador único de cada commit.
  • Sistemas CI/CD (Jenkins, GitLab CI, GitHub Actions, CircleCI):
    • Variables predefinidas: Los sistemas CI/CD proporcionan variables que contienen información sobre la ejecución actual (número de compilación, rama, hash del commit).
    • Scripts de compilación: Las variables de versión pueden generarse mediante scripts durante la compilación, basándose en datos de SCM y CI/CD.
  • Generadores automáticos de versiones: Herramientas que analizan la historia de commits (por ejemplo, basándose en Conventional Commits) y generan automáticamente números de versión semánticos (Major.Minor.Patch).
  • Archivos de configuración: La versión puede estar especificada en archivos de configuración del proyecto (por ejemplo, package.json en Node.js, pom.xml en Maven).

Ejemplos:

# Obtener hash del último commit en Git
git rev-parse HEAD
// Pipeline de Jenkins - obtener número de compilación de una variable predefinida
println "Número de compilación: ${env.BUILD_NUMBER}"
# GitLab CI - obtener rama y hash del commit
# de variables predefinidas
variables:
  GIT_BRANCH: $CI_COMMIT_BRANCH
  GIT_COMMIT: $CI_COMMIT_SHA

Las variables de versión se integran en el proceso de compilación y despliegue mediante:

  • Variables de entorno: Los sistemas CI/CD exportan información como variables de entorno.
  • Argumentos de línea de comandos: Se pasan a los scripts de compilación.
  • Archivos de configuración: Son leídos por las herramientas de compilación.
  • Plugins y extensiones: Las herramientas de compilación y los sistemas CI/CD tienen plugins para integrarse con SCM y obtener automáticamente información de la versión.