Uso directo del componente code/version
Esta página es para quien quiere incluir el componente code/version directamente en su pipeline,
fuera de los pipelines estándar por lenguaje.
Si usas
golang-service,java-service,react-serviceopython-service, ve a la guía de uso — el componente ya viene configurado.
Cuándo tiene sentido usarlo directamente
- Tu proyecto tiene un stack no cubierto por los pipelines estándar.
- Tienes un monorepo con múltiples componentes versionados de forma independiente.
- Necesitas control explícito sobre el stage, los runners o los inputs del job.
Cómo incluirlo
include:
- component: $CI_SERVER_FQDN/latamairlines/andes/pipelines/components/code/version@1.0.0
inputs:
job_name: "detect-version"
stage: "prepare"
stages:
- prepare
- build
build-image:
stage: build
needs:
- job: detect-version
artifacts: true
script:
- echo "Publicando versión ${VERSION}"
- docker build -t my-image:${VERSION_SEMVER_OCI} .
Fija siempre la versión del componente (@1.0.0) para evitar cambios inesperados.
Componente complementario: deploy/publish
El componente code/version solo detecta y calcula — no crea tags Git ni publica releases.
Para cerrar el ciclo necesitas el componente deploy/publish, que consume los artefactos
de version.env y se encarga de:
- Crear el tag Git en el repositorio.
- Publicar la imagen al registry correspondiente.
- Registrar el release en GitLab con las notas del
CHANGELOG.md. - Eliminar los tags RC cuando se publica un stable.
Los pipelines estándar por lenguaje incluyen ambos componentes preconfigurados.
Si usas code/version directo, necesitas también incluir deploy/publish o implementar
esa lógica tú mismo.
Referencia completa
Los inputs disponibles, la lógica de detección por stack, las variables producidas en version.env
y los comportamientos especiales (idempotencia, auto bump de patch, rolling OCI tags) están
documentados en el README del componente:
README — componente code/version
Contexto ANDES
Al usar el componente directamente aplican las mismas reglas que con los pipelines estándar:
- En la rama
maincon estrategiatbd(el default), el componente genera un RC automáticamente. Para publicar un stable, pasarelease_candidatecon el ticket Jira del cambio. - El
validation_moderesuelve astrictenmainy MRs amain. Asegúrate de que tuCHANGELOG.mdtenga una entrada con contenido para elVERSION_COREantes de mergear. - El proceso de pase a producción es el mismo que con los pipelines estándar. Ver Pase a producción.