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:
mainpara produção,devpara 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.
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.
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 Settings → Webhooks.
- 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! 🌱