Como configurar um webhook para automatizar deploys a partir do GitHub imprimir

  • 0

Como configurar um webhook para automatizar deploys a partir do GitHub

Olá, querido(a) desenvolvedor(a) e amante da automação! 👋 Seja bem-vindo(a) ao seu novo guia de DevOps com coração aqui na GeHost, onde vamos te ajudar a transformar o trabalho manual em algo elegante, rápido e quase mágico.

Imagine isso: você faz um push no GitHub… e, em segundos, seu site é atualizado automaticamente no servidor. Sem clicar em nada, sem esperar por um "enviar" no painel. Isso é possível com um webhook — e hoje, eu, seu Sensei da GeHost, te mostro como configurar isso passo a passo, com carinho e clareza.

Antes de começar: o que é um webhook?

Um webhook é como um sinal de alerta entre dois sistemas. Quando algo acontece no GitHub (como um novo commit), ele envia uma mensagem para o seu servidor. Se o servidor estiver pronto para receber, ele automaticamente atualiza o seu site.

O que você precisa ter

  • Um domínio hospedado na GeHost (com acesso ao cPanel).
  • Um repositório no GitHub com seu código.
  • Seu plano de hospedagem com acesso ao cPanel (todos os planos da GeHost têm isso).
  • Um script de atualização que o servidor vai rodar ao receber o sinal (vamos criar um simples).

Passo a passo: configuração do webhook

1. Acesse o cPanel da sua conta

Entre no painel do cliente da GeHost: painel.gehost.com.br. Faça login com seu usuário e senha.

Tela de login do cPanel com campos Usuário e Senha e botão Log in

2. Acesse o Gerenciador de Arquivos

No cPanel, localize e clique em Gerenciador de Arquivos (File Manager).

Painel inicial do cPanel com grupos de ferramentas como E-mail, Arquivos, Banco de Dados, etc.

3. Navegue até a pasta do seu site

Na barra de navegação, clique em public_html (ou o nome da sua pasta principal). É aqui que seu site está hospedado.

Gerenciador de Arquivos com árvore de pastas, incluindo public_html

4. Crie um script para receber o webhook

Na pasta public_html, clique em Novo Arquivo e crie um arquivo chamado deploy.php.

No conteúdo do arquivo, cole este código simples (ele vai atualizar seu site ao receber o sinal):

<?php
// Arquivo: deploy.php
// Este script é chamado pelo webhook do GitHub
// Ele atualiza o site com o último código do repositório

// Caminho do seu repositório no servidor
$repo_path = '/home/usuario/public_html'; // Substitua 'usuario' pelo seu nome de usuário no cPanel

// Comando para atualizar o código via Git
$command = "cd $repo_path && git pull origin main";

// Executa o comando
$output = shell_exec($command);

// Responde com sucesso
echo "Atualização concluída: " . $output;
?>

Dica: Se seu repositório for o main, use main. Se for master, troque o nome no comando.

5. Configure permissões no script

Clique com o botão direito no arquivo deploy.php e selecione Alterar Permissões.

Defina as permissões como 644 (leitura para todos, escrita apenas para o dono).

6. Crie um webhook no GitHub

Agora, vá para o seu repositório no GitHub:

  1. Clique em Settings (Configurações).
  2. No menu lateral, escolha Webhooks.
  3. Clique em Add webhook.
  4. Na seção Payload URL, digite: https://seudominio.com.br/deploy.php (substitua seudominio.com.br pelo seu domínio real).
  5. Selecione application/x-www-form-urlencoded como conteúdo.
  6. Selecione Just the push event (apenas quando você fizer push).
  7. Clique em Add webhook.

7. Teste o webhook

Volte ao GitHub, clique em Teste o webhook no painel de Webhooks. Se tudo estiver certo, você verá uma mensagem de sucesso.

Depois, vá ao seu site e verifique se o conteúdo foi atualizado. 🎉

Segurança: proteja seu webhook

Por segurança, não deixe o script acessível publicamente. Você pode:

  • Proteger com senha (usando .htaccess).
  • Usar apenas IPs permitidos (se necessário).
  • Evitar que o script seja acessado diretamente via navegador.

Se quiser, posso te ajudar com isso no suporte — é só pedir. 💬

Pronto! Você está automatizando seu deploy!

Parabéns, guerreiro da automação! Agora, cada vez que você fizer um git push no GitHub, seu site será atualizado automaticamente. Menos trabalho, mais foco no que importa: criar coisas incríveis.

Se tiver dúvidas, quiser ajustar algo ou precisar de ajuda com segurança, seu Sensei da GeHost está aqui. Basta entrar em contato pelo painel ou enviar um e-mail para suporte@gehost.com.br.

Com carinho,
Seu Sensei da GeHost 🌿


Esta resposta lhe foi útil?

« Retornar