Servidor & DevOps 8 visualizações

Como configurar um pipeline de deploy com rollback automático em caso de falha

Ver no WHMCS

Como Configurar um Pipeline de Deploy com Rollback Automático em Caso de Falha

Olá, viajante da tecnologia! Seja bem-vindo(a) ao nosso guia prático e humano sobre como automatizar o deploy do seu site com segurança — e, sim, com rollback automático caso algo dê errado. Aqui na GeHost, acreditamos que o desenvolvimento deve ser ágil, mas também tranquilo. Por isso, vamos montar esse processo passo a passo, como se fosse um ritual de transformação do seu código em um site vivo — com segurança garantida.

O que é um pipeline de deploy com rollback automático?

Imagine que você está preparando um bolo. Você coloca todos os ingredientes, bate, leva ao forno… mas, se o bolo queimar, o que você faz? Você volta ao passo anterior e recomeça com cuidado. Esse é o princípio do rollback automático: se algo der errado no momento do deploy (quando seu site é atualizado), o sistema volta automaticamente para a versão anterior, estável e funcional.

💡 Dica do Sensei: O rollback automático é como um "cinto de segurança" para o seu site. Ele evita que um erro no código deixe seu site inacessível.

Passo a passo: configurando seu pipeline com segurança

1. Prepare seu código com controle de versão (Git)

Antes de qualquer coisa, seu código precisa estar no Git — o grande organizador de versões. Cada alteração é registrada como uma "versão". Isso permite que o sistema saiba exatamente qual código estava funcionando antes.

  • Crie um repositório no GitHub, GitLab ou Bitbucket.
  • Faça commits com mensagens claras, como "Atualização do formulário de contato".
  • Use branches: main para produção, dev para testes.

2. Configure o acesso ao servidor via SSH

Para que o deploy automático funcione, seu servidor precisa "ouvir" quando novos códigos chegarem. Isso é feito via SSH (acesso seguro).

  • No cPanel, vá em SSH Access (em "Segurança").
  • Ative o acesso SSH (se ainda não estiver ativo).
  • Gerencie suas chaves SSH — use uma chave pública para autenticar o acesso.
Tela de login do cPanel com o menu de segurança visível

3. Crie um script de deploy com rollback

Vamos escrever um pequeno script que fará tudo automaticamente. Ele será executado no servidor toda vez que você atualizar o código.

Abra o Gerenciador de Arquivos no cPanel:

  • Na tela do cPanel, clique em File Manager.
  • Navegue até a pasta public_html (ou a pasta do seu site).
  • Crie um novo arquivo chamado deploy.sh.
Tela do Gerenciador de Arquivos com a pasta public_html selecionada

Abra o arquivo deploy.sh e cole este conteúdo:

#!/bin/bash
# Script de deploy com rollback automático
BACKUP_DIR="/home/SEU_USUARIO/backup"
DATE=$(date +"%Y%m%d_%H%M%S")
APP_DIR="/home/SEU_USUARIO/public_html"

# Verifica se o backup anterior existe
if [ -d "$BACKUP_DIR" ]; then
  echo "Backup anterior encontrado. Criando novo..."
  mv "$BACKUP_DIR" "$BACKUP_DIR-$DATE"
fi

# Faz backup da versão atual
echo "Criando backup da versão atual..."
mkdir -p "$BACKUP_DIR"
cp -r "$APP_DIR" "$BACKUP_DIR/backup-$DATE"

# Atualiza o código (ex: via Git)
echo "Atualizando o código do repositório..."
cd "$APP_DIR" || exit
git fetch origin
git reset --hard origin/main

# Verifica se o deploy foi bem-sucedido
if [ $? -eq 0 ]; then
  echo "Deploy concluído com sucesso!"
else
  echo "Erro no deploy. Iniciando rollback..."
  # Rollback: restaura o backup anterior
  if [ -d "$BACKUP_DIR-$DATE" ]; then
    echo "Restaurando versão anterior..."
    rm -rf "$APP_DIR"
    mv "$BACKUP_DIR-$DATE" "$APP_DIR"
    echo "Rollback concluído. O site está funcional novamente."
  else
    echo "Não foi possível fazer o rollback. Verifique o sistema."
  fi
fi

4. Torne o script executável

No Gerenciador de Arquivos, clique com o botão direito no arquivo deploy.sh e selecione Editar ou Propriedades. Em seguida, marque a opção Executar (ou altere as permissões para 755).

5. Configure o webhook no seu repositório (GitHub/GitLab)

Agora, toda vez que você fizer um push no branch main, o servidor será notificado para rodar o deploy.

  • No GitHub, vá em SettingsWebhooks.
  • Adicione um novo webhook com o URL: https://seu-dominio.com.br/deploy.sh (substitua pelo seu domínio).
  • Escolha o evento: Push no branch main.
  • Salve o webhook.

6. Teste o pipeline

Faça uma pequena alteração no código (ex: mude o título de uma página) e faça um commit e push no GitHub.

Se tudo estiver certo, o script será acionado, o novo código será implantado, e o backup será feito automaticamente.

Se algo der errado (ex: código com erro de sintaxe), o sistema fará o rollback automático e restaurará a versão anterior — sem que você precise fazer nada.

Conclusão: Segurança, simplicidade e confiança

Parabéns! Você acabou de criar um pipeline de deploy seguro e inteligente — com rollback automático. Isso significa que você pode atualizar seu site com confiança, sabendo que, mesmo que algo dê errado, o sistema se recupera sozinho.

🌟 Dica do Sensei: Sempre teste seu pipeline em um ambiente de homologação antes de usar em produção. E mantenha seu backup sempre atualizado — é o seu salvador em tempos de crise.

Se precisar de ajuda, estamos aqui. A GeHost está com você em cada passo do seu caminho digital. Até a próxima, viajante! 🌱

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.