Files
2026-06-17 17:31:50 +02:00

1.2 KiB

Deploy — Modelo (Build Once → Promote → Deploy)

Situação: como o deploy funciona, em conceito. Estado real verificado em 17/jun/2026.

Push na main builda uma vez e publica a imagem por commit; a tag vX.Y.Z re-tagueia essa mesma imagem (sem rebuild) e deploya. Produção nunca builda — só executa imagens prontas.

 PUSH main (commit C)                 TAG vX.Y.Z (no commit C)
        │                                     │
        ▼                                     ▼
   CI: build (1x)                       CI: promote (SEM build)
   publica :C + :latest                 re-tag :C → :vX.Y.Z (MESMO digest) + deploy
        ▼                                     ▼
   registry (Gitea)                     produção: pull :vX.Y.Z + up --no-build

Garantia central: a imagem em produção é byte-idêntica à que foi buildada e testada. A tag é só um rótulo de release sobre um artefato imutável.

  • Por que importa: acaba a recompilação na promoção (que podia gerar imagem diferente da testada) e a colisão de tags. Implementação de referência: scoreodonto.com (v1.0.18).
  • Situações relacionadas: subir-release.md, rollback.md, versionamento.md; infra em ../infra/.