runner rollback

Reverte para a versao anterior de uma aplicacao.

Sintaxe

runner rollback --app <path>
runner rollback <project> [--instance <instance>]

Parametros

Parametro Tipo Obrigatorio Descricao
--app string Sim* Caminho absoluto da app
<project> string Sim* Nome do projeto
--instance string Nao Instancia alvo (default: production)
--to string Nao Versao especifica para rollback

*Use --app ou <project>, nao ambos.

Exemplos

Rollback Simples

runner rollback --app /apps/usuario_meu-app

Rollback por Nome

runner rollback meu-app

Rollback para Versao Especifica

runner rollback meu-app --to v1.0.0

Rollback em Staging

runner rollback meu-app --instance staging

Processo de Rollback

  1. Identifica versao anterior

    • Lista versoes disponiveis
    • Seleciona anterior a atual
  2. Atualiza routing

    • Gera novo Traefik config
    • Aponta para versao anterior
  3. Recria container

    • docker compose up -d --force-recreate
    • Aguarda container healthy
  4. Notifica

    • Envia notificacao de rollback

Comportamento

Protecao contra Loop

O Runner nao faz rollback se:

  • Versao anterior e igual a atual
  • Nao existe versao anterior
  • Container anterior tambem esta unhealthy

Verificacao de Health

Apos rollback, verifica se container anterior esta saudavel. Se falhar, emite aviso mas nao tenta outro rollback.

Exit Codes

Codigo Significado
0 Sucesso
1 Erro generico
2 Nenhuma versao anterior
3 Health check falhou

Listando Versoes

Antes de fazer rollback, liste as versoes disponiveis:

runner versions meu-app -i production

Output:

Versoes de meu-app (production):
  v1.0.2 (current)
  v1.0.1
  v1.0.0
By Borlot.com.br on 12/02/2026