c0ca88c028
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.2 KiB
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/.