Skip to main content

Versionado y releases

Las versiones salen de los tags de git, nunca de archivos. La misma regla rige en octopus-api, octopus-console, octopus-docs y octopus-cli: cada repo tiene su propia secuencia de tags y el mismo bloque de targets en su Makefile.

La regla​

make release BUMP=patch|minor|major etiqueta el commit actual como vX.Y.Z y empuja el tag. Se niega a correr con el árbol sucio o en un commit que no está en origin/main.

  • VERSION es git describe --tags sin la v inicial: 1.2.3 en un commit con tag, 1.2.3-4-gabc1234 en un commit posterior y 0.0.0-g<sha> si no hay tags. Solo cuentan los tags v[0-9]*: los tags de relevamiento (por ejemplo baseline-2026-11) se ignoran.
  • Las imágenes Docker se etiquetan con VERSION. latest se publica solo cuando el commit tiene un tag exacto (IS_RELEASE=true). Nunca se etiqueta latest a mano.
  • Las imágenes van a registry.gitlab.com/reactive-octopus/octopus-deploy/<nombre>, un único registry para todos los repos. Los despliegues (octopus-deploy) referencian una versión exacta, nunca latest ni un build sin tag.
  • Un arreglo para una demo desplegada es make release BUMP=patch, después make docker, y por último subir la versión en octopus-deploy/compose/.env.
  • Nunca se edita, mueve ni borra un tag publicado. Nunca se etiqueta un commit que no esté en main.

Nombres de imagen​

RepoImagenContenido
octopus-apioctopusUna sola imagen; APP=api, effects o polling elige la aplicación
octopus-consoleconsoleAngular detrás de nginx
octopus-consoleconsole-bffBFF Go (api/)
octopus-demodemoAngular detrás de nginx (demo.)
octopus-demodemo-bffBFF Go (api/, api.demo.)
octopus-docsdocsSitio estático detrás de nginx
octopus-clicliBinario octopus, para seeds y runbook

Checklist de release para la demo​

  1. En cada repo, desde main limpio y actualizado: make release BUMP=minor (o patch si es un arreglo).
  2. En el mismo repo, make docker: construye linux/amd64 y publica :<versión> y, por ser un tag exacto, :latest. Se construye en la máquina de desarrollo, nunca en la VM de la demo.
  3. Subir las versiones nuevas en octopus-deploy/compose/.env.
  4. En la VM: docker compose pull y docker compose up -d.

octopus-deploy lo crea OCT-44; hasta entonces los pasos 3 y 4 son el plan, no un procedimiento probado.