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.
VERSIONesgit describe --tagssin lavinicial:1.2.3en un commit con tag,1.2.3-4-gabc1234en un commit posterior y0.0.0-g<sha>si no hay tags. Solo cuentan los tagsv[0-9]*: los tags de relevamiento (por ejemplobaseline-2026-11) se ignoran.- Las imágenes Docker se etiquetan con
VERSION.latestse publica solo cuando el commit tiene un tag exacto (IS_RELEASE=true). Nunca se etiquetalatesta 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, nuncalatestni un build sin tag. - Un arreglo para una demo desplegada es
make release BUMP=patch, despuésmake docker, y por último subir la versión enoctopus-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
| Repo | Imagen | Contenido |
|---|---|---|
octopus-api | octopus | Una sola imagen; APP=api, effects o polling elige la aplicación |
octopus-console | console | Angular detrás de nginx |
octopus-console | console-bff | BFF Go (api/) |
octopus-demo | demo | Angular detrás de nginx (demo.) |
octopus-demo | demo-bff | BFF Go (api/, api.demo.) |
octopus-docs | docs | Sitio estático detrás de nginx |
octopus-cli | cli | Binario octopus, para seeds y runbook |
Checklist de release para la demo
- En cada repo, desde
mainlimpio y actualizado:make release BUMP=minor(opatchsi es un arreglo). - En el mismo repo,
make docker: construyelinux/amd64y 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. - Subir las versiones nuevas en
octopus-deploy/compose/.env. - En la VM:
docker compose pullydocker compose up -d.
octopus-deploy lo crea OCT-44; hasta entonces los pasos 3 y 4 son el plan, no un procedimiento probado.