Como configurar webhooks para automatizar deploys a partir do GitHub imprimir

  • 0

Como configurar webhooks para automatizar deploys a partir do GitHub

Olá, viajante da web! Seja bem-vindo(a) ao seu novo passo rumo à automação e produtividade. Aqui, na GeHost, acreditamos que o tempo é ouro — e que você merece focar no que ama: criar, inovar, entregar valor. Por isso, vamos te ensinar, com carinho e clareza, como configurar webhooks para fazer o seu site se atualizar automaticamente sempre que você enviar novos códigos ao GitHub. Sim, isso é possível — e é tão simples quanto seguir um passo a passo.

Imagine: você faz um commit no GitHub, e, em segundos, seu site já está com a nova versão. Sem precisar entrar no painel, sem digitar comandos, sem perder tempo. É isso que o webhook faz por você.

Dica Sensei: Antes de começar, verifique se seu domínio está apontando corretamente para o servidor da GeHost. Se não souber como fazer isso, abra um ticket no suporte — a gente te ajuda com um sorriso.

Passo a passo: Configurando o webhook no GitHub

  1. Acesse o seu repositório no GitHub e clique na aba Settings.

    Tela de login do GitHub com aba Settings destacada
  2. No menu lateral, clique em Webhooks (ou "Hooks", em versões antigas).

  3. Clique em Add webhook.

  4. Preencha os campos:

    • Payload URL: Aqui você coloca a URL do seu servidor que vai receber o evento. Ela deve ser do tipo https://seudominio.com.br/webhook. Substitua seudominio.com.br pelo seu domínio real.
    • Content type: Escolha application/json.
    • Which events would you like to trigger this webhook? Escolha Just the push event para atualizações de código.
    • Active: Deixe marcado.
  5. Clique em Add webhook.

Dica Sensei: Se você não tem um arquivo chamado webhook.php no seu site, crie um agora. Ele será o "receptor" da mensagem do GitHub. Vamos explicar como fazer isso logo abaixo.

Passo a passo: Criando o arquivo webhook no cPanel

Este é o coração da automação. O arquivo webhook.php vai receber a mensagem do GitHub e atualizar seu site automaticamente.

  1. Entre no seu painel da GeHost em painel.gehost.com.br.

  2. Na seção Arquivos, clique em Gerenciador de Arquivos.

    Tela inicial do cPanel com o grupo Arquivos destacado
  3. Selecione a pasta public_html (ou a pasta do seu site).

  4. Clique em Novo Arquivo e digite webhook.php.

  5. Abra o arquivo e cole o seguinte código:

    <?php
    // Arquivo webhook.php - Recebe notificações do GitHub
    // Este código é um exemplo básico. Para produção, considere segurança.
    
    header('Content-Type: application/json');
    
    // Verifica se a requisição é POST
    if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
        http_response_code(405);
        echo json_encode(['status' => 'error', 'message' => 'Método não permitido']);
        exit;
    }
    
    // Verifique o token de segurança (opcional, mas recomendado)
    $token = 'seu_token_secreto_aqui'; // Substitua por um token real
    if (!isset($_SERVER['HTTP_X_HUB_SIGNATURE_256']) || !hash_equals(hash_hmac('sha256', file_get_contents('php://input'), $token), $_SERVER['HTTP_X_HUB_SIGNATURE_256'])) {
        http_response_code(403);
        echo json_encode(['status' => 'error', 'message' => 'Acesso não autorizado']);
        exit;
    }
    
    // Atualiza o código do repositório (exemplo com Git)
    $repo_path = '/home/seu_usuario/public_html'; // Caminho real do site
    $command = "cd $repo_path && git pull origin main";
    $output = shell_exec($command);
    
    // Responde com sucesso
    http_response_code(200);
    echo json_encode(['status' => 'success', 'message' => 'Deploy realizado com sucesso', 'output' => $output]);
    ?>
  6. Salve o arquivo.

Dica Sensei: Não deixe o token em claro no código. Use um arquivo de configuração separado ou variáveis de ambiente, se seu plano permitir. Sempre proteja esse arquivo com permissões adequadas.

Passo a passo: Configurando o GitHub com segurança

Para garantir que apenas o GitHub possa acionar seu webhook, é essencial usar um token secreto. Vamos fazer isso agora.

  1. No GitHub, vá de volta à página do webhook (Settings > Webhooks).

  2. Clique em Edit no webhook que você criou.

  3. No campo Secret, insira um token aleatório (ex: minhasecreta123).

  4. Atualize o webhook.

  5. No arquivo webhook.php, substitua seu_token_secreto_aqui pelo mesmo valor.

Dica Sensei: Tokens são como senhas. Não compartilhe com ninguém. Se achar que foi exposto, gere um novo no GitHub e atualize o código.

Testando tudo

Para testar se está funcionando:

  1. Faça um pequeno commit no GitHub (ex: altere um texto em uma página).

  2. Verifique se o arquivo webhook.php está acessível via navegador (ex: https://seudominio.com.br/webhook.php). Ele deve retornar um JSON com "success".

  3. Se o site se atualizou, parabéns! Você acaba de dominar a automação!

Importante: Segurança e limitações

Embora o webhook seja poderoso, ele tem limitações importantes:

  • Não é possível fazer deploy em tempo real com certeza absoluta — depende da velocidade da rede e do GitHub.
  • Seu servidor precisa ter o Git instalado e permitir o uso de shell_exec. Isso está habilitado em todos os planos da GeHost com cPanel.
  • Evite deixar o código do webhook exposto ou sem autenticação. Use sempre o token.
  • Se algo der errado, verifique os logs de acesso no painel da GeHost ou entre em contato com o suporte.

Conclusão: Você está no caminho certo

Parabéns, mestre da automação! Você acabou de conectar o GitHub ao seu site com um simples webhook. Isso não é só tecnologia — é liberdade. Mais tempo para criar, menos tempo para gerenciar.

Se tiver dúvidas, se precisar de ajuda com o código, ou se quiser


Esta resposta lhe foi útil?

« Retornar