Webhook de Deploy: seu VPS avisando você automaticamente 🥋
Olá! Aqui é a Sensei da GeHost. Hoje vou te ensinar uma automação que economiza um monte de "ficou no ar?" — o webhook de notificação de deploy. A ideia é simples: toda vez que uma atualização (deploy) acontecer no seu VPS, um aviso chega sozinho no seu Slack, Discord, Telegram ou e-mail, sem você precisar ficar checando nada na mão.
Pense no webhook como um "mensageiro automático": quando algo acontece no seu servidor, ele bate na porta de outro serviço e entrega o recado. Sem robô, sem mágica — só uma chamada HTTP simples.
O que você vai precisar antes de começar
- Acesso ao seu VPS via terminal (SSH), com permissão para editar os scripts de deploy da sua aplicação;
- Uma conta no serviço onde você quer receber o aviso (Slack, Discord, Telegram ou até um e-mail);
- O processo de deploy da sua aplicação já funcionando (seja via Git, script manual ou pipeline de CI/CD).
Se você não sabe exatamente onde fica o script que roda o deploy da sua aplicação, dá uma olhada no seu painel ou consulte nosso suporte — cada projeto costuma ter esse fluxo configurado de um jeito diferente.
Passo a passo
1. Escolha onde você quer ser avisado
O primeiro passo é decidir o "mensageiro". As opções mais comuns e fáceis de configurar são:
- Discord — em Configurações do Servidor → Integrações → Webhooks, clique em "Novo Webhook" e copie a URL gerada;
- Slack — crie um "Incoming Webhook" em api.slack.com/apps, associando a um canal específico;
- Telegram — crie um bot com o @BotFather e use a API do Telegram para enviar mensagens a um chat;
- E-mail — se preferir algo mais simples, o próprio script de deploy pode disparar um e-mail usando o serviço de e-mail já incluso na sua hospedagem GeHost.
2. Guarde a URL do webhook com carinho
Essa URL é uma espécie de "chave" — quem tiver ela consegue mandar mensagens pro seu canal. Guarde-a como se fosse uma senha, nunca a publique em repositórios públicos.
Dica da Sensei: nunca cole a URL do webhook direto no código-fonte. Prefira colocá-la em uma variável de ambiente (arquivo .env, por exemplo) que não vá pro seu repositório Git.
3. Adicione o disparo no seu script de deploy
No script que já roda o deploy da sua aplicação (seja um deploy.sh, um hook do Git, ou um passo de pipeline), adicione ao final um comando simples que envia uma mensagem para a URL do webhook. Em praticamente todos os serviços, isso pode ser feito com uma chamada HTTP tipo curl, enviando um texto curto como "✅ Deploy concluído com sucesso no ambiente X".
O formato exato da mensagem (o "corpo" da requisição) varia de serviço para serviço — Discord e Slack, por exemplo, esperam um JSON simples com o campo de texto da mensagem. A documentação de cada serviço mostra o formato certinho.
4. Teste antes de confiar
Rode o script de deploy manualmente (ou force um disparo de teste) e confira se a mensagem chegou no canal escolhido. Esse teste evita a maior frustração: descobrir que o aviso não funciona justamente no dia que você mais precisava dele.
5. Automatize de vez
Se seu deploy já acontece automaticamente (por exemplo, via um hook do Git que dispara quando você faz git push, ou por uma esteira de CI/CD), o disparo do webhook fica sempre no final desse processo — assim, toda atualização gera o aviso sozinha, sem você precisar lembrar de rodar nada manualmente.
Boas práticas de segurança
- Use sempre HTTPS na URL do webhook (praticamente todos os serviços já entregam assim);
- Revogue e gere uma nova URL de webhook caso desconfie que ela vazou;
- Evite colocar informações sensíveis do seu servidor (como caminhos internos ou credenciais) dentro da mensagem enviada — mande só o essencial: nome do projeto, ambiente e status do deploy.
Problemas comuns
- A mensagem não chega: confira se a URL do webhook foi copiada corretamente e se o servidor tem acesso à internet para fazer a chamada HTTP de saída;
- Chega, mas formatada errado: revise o formato esperado pelo serviço (geralmente JSON) — um detalhe de sintaxe já é suficiente pra quebrar o envio;
- Funciona no teste manual, mas não no automático: verifique se o comando de disparo está mesmo dentro do script/hook que roda o deploy, e não em um script separado que não está sendo chamado.
Com isso, você ganha um "assistente" que te avisa a cada atualização — e pode dormir tranquilo sabendo que, se algo der errado no meio do caminho, você vai ficar sabendo na hora. Qualquer dúvida na hora de montar esse fluxo no seu ambiente, é só chamar o nosso suporte. Até a próxima! 🥋