Rollback
Rollback é o processo de voltar para uma versão anterior quando uma publicação causa erro. Na Zenifra, a estratégia depende da origem do projeto: repositório Git (GitHub ou Forgejo) ou imagem OCI.
Antes de precisar reverter
Prepare o projeto para rollback antes de produção:
- mantenha tags ou commits identificáveis
- exponha uma rota
/health - registre versão ou commit nos logs
- evite
latestpara imagens OCI em produção - documente variáveis necessárias para cada release
Projetos Git
Para projetos GitHub ou Forgejo no modo Automático por branch, o caminho mais previsível é voltar a branch configurada para um estado conhecido e enviar um novo push.
Opções comuns:
- criar um commit de revert
- fazer merge de uma correção rápida
- restaurar a branch para uma release estável conforme o processo Git da equipe
Nos modos Por Tag ou Por Release, crie uma tag nova que aponte para o commit estável e corresponda ao padrão configurado (e publique a release, no modo Por Release). Atualizar uma tag existente não inicia uma publicação.
Em projetos Forgejo, você também pode iniciar uma publicação manual de um commit estável: no Console, use Novo build com o SHA exato do commit, ou rode zenifra deploy --project <project-id> --commit-sha <sha>. No modo Automático por branch, o próximo push na branch volta a publicar o estado da branch.
Depois da publicação, acompanhe logs de build e valide a aplicação na URL pública.
Projetos OCI
Para projetos OCI, rollback normalmente significa alterar a imagem para uma tag anterior.
| Estado | Imagem |
|---|---|
| versão com problema | ghcr.io/acme/api:1.4.3 |
| rollback | ghcr.io/acme/api:1.4.2 |
Depois de trocar a imagem, valide logs, métricas, rota /health e comportamento principal da aplicação.
Banco e migrações
Rollback de aplicação não desfaz automaticamente mudanças no banco.
Antes de publicar mudanças com migração:
- teste migrações em ambiente separado
- prefira migrações compatíveis com duas versões da aplicação
- planeje como reverter ou corrigir dados
- evite deploy de código que dependa imediatamente de uma migração destrutiva
Validação pós-rollback
Após reverter:
- confirme status do projeto
- abra a URL pública
- verifique logs da aplicação
- confira métricas e requisições HTTP
- valide banco, login, checkout, webhooks ou fluxos críticos
- comunique internamente a versão restaurada
Próximos passos
FAQ
A Zenifra faz rollback automático?
Não. A Zenifra não faz rollback automático; planeje o rollback operacional por Git ou por tag de imagem.
Rollback resolve erro de banco?
Nem sempre. Mudanças de schema e dados precisam de plano próprio.
Como reduzir risco?
Use branch estável, tags imutáveis, health check, logs claros e checklist de produção antes de publicar.
Última atualização em
Atualização automática por branch
Entenda o deploy automático por branch em projetos Git e como os modos de atualização do GitHub e do Forgejo controlam publicações por branch, tag ou release.
Health checks para projetos HTTP
Configure o health check de projetos HTTP, valide respostas 2xx, acompanhe falhas por 30 dias e mantenha instâncias disponíveis na Zenifra.