Pular para o conteúdo
Nuvem Hospedagem Central de Ajuda

Deploy automático: do Claude e GitHub para o cPanel

Atualizado em 11 min de leitura cPanel e arquivos
Sem programar

Criou seu site com o Claude? Conecte ele ao GitHub e à sua hospedagem na Nuvem. Com o deploy automático, é só pedir uma mudança ao Claude que o site é atualizado sozinho.

01Você pede ao Claude“troque o telefone do site”
02GitHub guardao Claude envia o código
03Nuvem publicadeploy automático
04Site no arem menos de 1 minuto

Antes de começar, você vai precisar de:

  • Uma hospedagem na Nuvem com acesso ao cPanel.
  • Uma conta gratuita no GitHub (criar conta).
  • Uma conta no Claude com plano pago que inclua o Claude Code (claude.ai/code), como o Pro. Se ao abrir o link aparecer um convite para assinar, o seu plano não inclui.
  • O seu domínio apontado para a Nuvem. Ainda não apontou? Veja Alterar DNS de domínios.
  • O arquivo da sua landing page (por exemplo landing-page.html), se você já criou o site com o Claude.

Este passo a passo é para sites em HTML, CSS e JavaScript, como landing pages. Se o seu site é WordPress, ele não é para você.

Usa o plano gratuito do Claude? No gratuito, o Claude não consegue enviar o site para o GitHub sozinho, então o deploy automático não compensa. Baixe a página que o Claude criar e publique direto pelo cPanel: veja Como publicar um site HTML no cPanel.

Sua senha fica protegida. O Claude nunca precisa da senha da sua hospedagem. Ela fica guardada num cofre do GitHub (os Secrets), que nem o Claude consegue ler. Se alguém pedir essa senha num chat, não envie.

Palavras que você vai ver neste tutorial
  • Repositório: a pasta do seu site guardada no GitHub.
  • Deploy: a publicação do site. Aqui ela é automática: acontece sozinha a cada mudança.
  • FTP: o jeito que o GitHub usa para enviar os arquivos para a sua hospedagem.
  • Secrets: um cofre do GitHub onde ficam as senhas, protegidas.
  • Pull Request: uma mudança esperando a sua aprovação. Você aprova clicando em Merge.
Etapa 1 de 5 GitHub

Crie um repositório para o seu site

O repositório é uma pasta na nuvem do GitHub onde fica o código do seu site. É nele que o Claude vai trabalhar.

  1. 1

    Entre no GitHub e acesse github.com/new. Preencha assim:

    • Repository name: um nome simples, como meu-site.
    • Choose visibility: Private, para só você ver o código. O deploy funciona normalmente com o repositório privado, não precisa deixar público.
    • Add README: ligado (On).

    Clique em Create repository. A página que abre em seguida é o seu repositório: deixe essa aba aberta, você vai voltar nela na Etapa 3.

    github.com/new
    Deploy automático: criar repositório no GitHub privado e com README
Etapa 2 de 5 cPanel

Crie uma conta FTP para o deploy automático

Essa conta é a “chave” que o GitHub usa para colocar os arquivos do site na sua hospedagem.

  1. 2

    Entre no cPanel da sua hospedagem (não sabe como? Veja Como acessar o cPanel pela Área do Cliente). Na seção Arquivos, clique em Contas de FTP.

    cPanel › Ferramentas
    cPanel com Contas de FTP em destaque
  2. 3

    Preencha o formulário Adicionar Conta de FTP:

    • Fazer login: deploy
    • Senha: clique em Gerador de senha, copie a senha gerada, marque a caixinha confirmando que copiou e clique em Usar senha. Guarde essa senha (num bloco de notas, por exemplo): você vai usar na Etapa 3.
    • Diretório: apague o que vier escrito e deixe só public_html.

    Clique em Criar conta de FTP.

    cPanel › Contas de FTP
    Formulário de nova conta FTP: login deploy, senha e diretório public_html

    Seu site fica num subdomínio ou domínio adicional? Use a pasta dele no lugar de public_html. Você encontra a pasta em Domínios, no cPanel.

  3. 4

    A conta aparece na lista. Anote o login completo, que fica assim: [email protected].

    cPanel › Contas de FTP
    Conta deploy@seudominio.com.br criada
Etapa 3 de 5 GitHub

Guarde os dados de acesso no cofre do GitHub

Os Secrets são um cofre: depois de salvos, ficam criptografados e ninguém consegue ver o conteúdo, nem você, nem o Claude.

  1. 5

    Volte para a aba do seu repositório no GitHub (o endereço é github.com/seu-usuario/meu-site). Na barra do topo, clique em Settings (ícone de engrenagem). No menu da esquerda, clique em Secrets and variables e depois em Actions. Por fim, clique no botão verde New repository secret.

    github.com › meu-site › Settings
    Caminho Settings, Secrets and variables, Actions e botão New repository secret
  2. 6

    Você vai criar três secrets, um de cada vez. Para cada um: em Name, copie o nome exatamente como está na tabela; em Secret, coloque o valor; clique em Add secret. Para criar o próximo, clique de novo em New repository secret.

    NameSecret (o que colocar)
    FTP_SERVERO domínio do seu site, por exemplo seudominio.com.br. Escreva só o domínio: sem https://, sem www e sem barra no final.
    FTP_USERNAMEO login da Etapa 2: [email protected]
    FTP_PASSWORDA senha que você guardou na Etapa 2.
    github.com › Settings › Secrets › New secret
    Cadastro do secret FTP_SERVER com o domínio do site

    Usa Cloudflare com o proxy ligado (nuvem laranja)? O FTP não passa pelo proxy. No FTP_SERVER, coloque o endereço do servidor da sua hospedagem (por exemplo salto.nuvemidc.com, o mesmo que aparece na barra do navegador quando você abre o cPanel) no lugar do domínio.

  3. 7

    No final, a lista mostra os três secrets:

    github.com › Settings › Secrets › Actions
    Os três secrets cadastrados
Etapa 4 de 5 Claude

Conecte o Claude ao GitHub e peça para publicar o site

  1. 8

    Abra o site claude.ai/code e entre com a sua conta do Claude. Na caixa de mensagem, digite:

    Quero conectar ao GitHub

    O Claude responde com um botão Conectar ao GitHub. Clique nele.

    No Claude Code, digitar Quero conectar ao GitHub e clicar em Conectar ao GitHub

    Imagem ilustrativa. A tela pode variar um pouco conforme a versão do Claude.

  2. 9

    Uma nova aba abre no seu navegador, já no site do GitHub. Se o GitHub pedir, entre com o seu usuário e senha do GitHub. A tela está em inglês; faça assim:

    • Em Repository access (acesso aos repositórios), marque Only select repositories (somente os repositórios escolhidos).
    • Clique em Select repositories e escolha o meu-site, criado na Etapa 1.
    • Clique no botão verde Install & Authorize (instalar e autorizar).
    Tela do GitHub para autorizar o Claude: Only select repositories, meu-site e Install and Authorize

    Escolhendo só o repositório do site, o Claude não tem acesso a mais nada da sua conta do GitHub. Se a aba não abrir, verifique se o navegador bloqueou o pop-up e permita para o claude.ai.

  3. 10

    Depois de autorizar, o GitHub leva você de volta ao Claude (se não levar, feche a aba do GitHub e volte para a aba do Claude). Agora o GitHub aparece como conectado: escolha o repositório meu-site para começar.

    Claude Code com o GitHub conectado e o repositório meu-site selecionado
  4. 11

    Agora você vai pedir ao Claude para publicar o site. São três ações:

    • Anexe o arquivo da sua landing page, no botão + Anexar da caixa de mensagem.
    • Clique em Copiar pedido, logo abaixo, e cole na caixa de mensagem (Ctrl + V, ou Cmd + V no Mac).
    • Clique na seta para enviar.

    Onde está o arquivo da landing page? Se você criou a página numa conversa com o Claude, use a opção de baixar o arquivo na própria conversa e salve no computador.

    Ainda não tem a página? Não precisa anexar nada. Antes de colar o pedido, escreva o que você quer, por exemplo: “Crie uma landing page para a minha clínica odontológica, com botão de WhatsApp e endereço. Depois:” e cole o pedido logo em seguida.

    Pedido pronto para o Claude
    Coloque minha landing page neste repositório e configure o deploy automático para a Nuvem Hospedagem:
    
    1. Salve a página como index.html na raiz do repositório. Se houver imagens ou CSS, coloque numa pasta assets.
    
    2. Crie o arquivo .github/workflows/deploy.yml com exatamente este conteúdo:
    
    name: Deploy no cPanel
    on:
      push:
        branches: [main]
      workflow_dispatch:
    jobs:
      deploy:
        name: Enviar arquivos para a hospedagem
        runs-on: ubuntu-latest
        steps:
          - name: Baixar o código do repositório
            uses: actions/checkout@v5
          - name: Enviar por FTP para o cPanel
            uses: SamKirkland/[email protected]
            with:
              server: ${{ secrets.FTP_SERVER }}
              username: ${{ secrets.FTP_USERNAME }}
              password: ${{ secrets.FTP_PASSWORD }}
              protocol: ftps
              server-dir: ./
              exclude: |
                **/.git*
                **/.git*/**
                README.md
    
    3. Os secrets FTP_SERVER, FTP_USERNAME e FTP_PASSWORD já estão cadastrados no GitHub. Não peça a senha.
    
    4. Envie as alterações para a branch main.
    Pedido colado no Claude com o arquivo da landing page anexado
  5. 12

    Aguarde o Claude trabalhar, o que leva de um a alguns minutos. Ele organiza os arquivos, cria o deploy e envia tudo para o GitHub. Quando aparecer a mensagem de que as alterações foram enviadas, o deploy já começou. Se o Claude fizer alguma pergunta, responda normalmente, do seu jeito.

    Claude concluiu: criou index.html, CSS e deploy.yml e enviou para o GitHub
    O Claude criou um “Pull Request” em vez de enviar direto?

    Tudo certo, é só aprovar. Abra o link do Pull Request que o Claude mostrou (ou a aba Pull requests do repositório) e clique em Merge pull request e depois em Confirm merge. O deploy começa na hora.

    github.com › meu-site › Pull requests
    Botão Merge pull request no GitHub
    Prefere criar o arquivo de deploy sem o Claude?

    No repositório, clique em Add file › Create new file, digite o nome .github/workflows/deploy.yml, cole o conteúdo abaixo e clique em Commit changes.

    .github/workflows/deploy.yml
    name: Deploy no cPanel
    on:
      push:
        branches: [main]
      workflow_dispatch:
    jobs:
      deploy:
        name: Enviar arquivos para a hospedagem
        runs-on: ubuntu-latest
        steps:
          - name: Baixar o código do repositório
            uses: actions/checkout@v5
          - name: Enviar por FTP para o cPanel
            uses: SamKirkland/[email protected]
            with:
              server: ${{ secrets.FTP_SERVER }}
              username: ${{ secrets.FTP_USERNAME }}
              password: ${{ secrets.FTP_PASSWORD }}
              protocol: ftps
              server-dir: ./
              exclude: |
                **/.git*
                **/.git*/**
                README.md
    github.com › meu-site › Create new file
    Arquivo deploy.yml criado direto no GitHub
Etapa 5 de 5 Conferir

Veja o deploy acontecer e o site no ar

  1. 13

    No GitHub, abra a aba Actions do repositório. Em alguns segundos aparece o deploy com um ✓ verde, o que quer dizer que deu certo.

    github.com › meu-site › Actions
    Aba Actions com o deploy concluído
  2. 14

    Abra o seu domínio no navegador. Seu site está no ar! Se ainda aparecer a página antiga, aperte Ctrl + F5 (ou Cmd + Shift + R no Mac) para recarregar sem cache.

    seudominio.com.br
    Site publicado

Pronto! A configuração acabou. Você não precisa repetir nenhuma dessas etapas.

No dia a dia

Para mudar o site, é só pedir ao Claude

Abra o claude.ai/code, escolha o repositório do site e escreva o que quer mudar, do seu jeito. Por exemplo:

  • “Troque o número do WhatsApp para (11) 98765-4321.”
  • “Adicione uma seção de depoimentos depois dos preços.”
  • “Deixe o botão principal verde e maior no celular.”
Pedindo ao Claude para trocar o telefone do WhatsApp

Imagem ilustrativa.

Assim que o Claude envia a alteração (ou que você aprova o Pull Request), o deploy roda sozinho e o site é atualizado em menos de um minuto.

Não edite o site pelo cPanel. O deploy leva as mudanças do GitHub para a hospedagem, nunca o contrário. Se você alterar um arquivo pelo Gerenciador de Arquivos, essa mudança é substituída no próximo deploy.

Deu erro?

Se o deploy aparecer com um ✗ vermelho na aba Actions, clique nele e abra o passo Enviar por FTP para o cPanel para ver a mensagem. Os casos mais comuns:

Não aparece nada na aba Actions

Falta o arquivo de deploy ou ele está com o nome errado. Na página do repositório deve existir a pasta .github/workflows com o arquivo deploy.yml dentro. Se não existir, crie seguindo o quadro “Prefere criar o arquivo de deploy sem o Claude?”, no passo 12.

O Claude pediu a senha do FTP ou da hospedagem

Não envie. A senha deve ficar só nos Secrets do GitHub (Etapa 3). Responda ao Claude: “os secrets já estão cadastrados no GitHub, use FTP_SERVER, FTP_USERNAME e FTP_PASSWORD”.

Erro de login ou “530 Login authentication failed”

Usuário ou senha incorretos. Confira se o FTP_USERNAME tem o login completo ([email protected]) e se a senha não ficou com espaço no começo ou no fim. Se precisar, troque a senha em Contas de FTP › Alterar senha no cPanel e atualize o secret FTP_PASSWORD no GitHub (ícone de lápis).

Timeout, “ECONNREFUSED” ou não conecta no servidor

Confira o FTP_SERVER: ele deve ser só o domínio, como seudominio.com.br, sem https://, sem www e sem barra no final. O domínio também precisa estar apontado para a Nuvem. Se ele usa Cloudflare com o proxy ligado, use o endereço do servidor (veja o balão na Etapa 3).

Erro de certificado (“certificate”, “hostname does not match”)

Acontece quando o FTP_SERVER está com um IP ou com um endereço diferente do domínio, como ftp.seudominio.com.br ou www.seudominio.com.br. Use só o domínio (seudominio.com.br) ou, se usa Cloudflare, o endereço do servidor.

Deu certo, mas o site não mudou

Confira três coisas: o Diretório da conta FTP é public_html (Etapa 2); o index.html está na raiz do repositório, fora de pastas; e limpe o cache do navegador (Ctrl + F5 no computador).

Meu site é em React, Vite, Angular ou Vue

Peça ao Claude: “Este projeto precisa de build. Ajuste o deploy.yml para instalar as dependências, rodar o build e enviar só a pasta gerada (dist ou build)”. Se o site tem páginas internas, peça também: “crie um .htaccess que direcione todas as rotas para o index.html”.

Atenção: o deploy substitui os arquivos do site pelos do repositório. O que não está no repositório, como .htaccess e php.ini, não é apagado. Prefere o deploy manual pelo Git do cPanel? Veja GitHub no cPanel.

Ficou com dúvidas?

Nosso suporte ajuda você a configurar, 24 horas por dia.

Abrir ticket de suporte
Este tutorial te ajudou?

Obrigado pela resposta!

Tutoriais relacionados