O ritual de publicar site finalmente acabou
Se você já teve site em produção, conhece a rotina. Commit, build, gerar o zip, abrir o FileZilla, arrastar arquivo por arquivo, conferir se subiu tudo, descobrir que faltou uma pasta, fechar tudo e torcer.
O Enhance 12.26.0, que já está rodando na nossa infraestrutura, corta essa etapa pela raiz. Você conecta a sua conta do GitHub uma única vez, escolhe o repositório e pronto: a WHN assume a publicação.
Da próxima vez que você precisar colocar algo no ar, o trabalho é um comando de git push. Só isso.
Como funciona na prática
A conexão acontece no painel, em poucos cliques. Ao autorizar, o Enhance cria um aplicativo sob a sua conta do GitHub e é você quem decide quais repositórios ele enxerga. Ninguém da WHN enxerga o seu código sem você autorizar.
Depois de conectado, você escolhe como quer publicar. Dá para mandar um deploy na mão, apertando um botão no painel, quando quiser. Ou dá para colocar no automático: você escolhe a branch ou a tag que quer monitorar e pronto, cada push que chegar dispara a publicação sozinho.
E dá para fazer os dois. Aos domingos você deixa rodando no automático; na sexta-feira, antes de apresentar ao cliente, você manda um deploy manual e confere.
Para quem já tem site, o botão do GitHub aparece no painel do site. Para quem está começando, dá para conectar a conta e já escolher o repositório na hora de criar o site.
O medo de errar mudou de lugar
Se você já aprovou uma atualização errada no ar, sabe do que estamos falando. O telefonema para o cliente, o site quebrado, a pressa de reverter.
Aqui a lógica é outra. Cada publicação fica guardada em uma pasta própria, e o site no ar continua apontando para a última versão que deu certo. Se o build quebrou, se faltava dependência, se o comando de build errou, o que está publicado não muda.
Ou seja: dá para testar em staging sem medo, dá para dar push na main sem pânico, e dá para dormir tranquilo sabendo que um erro não tira o site do ar.
E o histórico fica guardado. Não é aquele deploy que ninguém sabe de onde veio — cada publicação tem sua pasta, com data e resultado.
Serve para o seu tipo de projeto
Se o seu site roda em PHP, Node.js, Laravel, é um site estático ou roda em Rust ou Go, o deploy via GitHub serve. Site novo ou site que está no ar há anos: funciona nos dois casos.
E funciona com repositório privado, que é a maioria dos projetos de cliente. O seu código continua privado. A conexão é feita na sua conta, com você autorizando o que o aplicativo enxerga, e pode ser desligada quando você quiser.
Se você tem arquivos que não vivem no repositório — as imagens enviadas por visitante, por exemplo — a gente recomenda um subdomínio só para eles, apontando direto para a pasta. A aplicação passa a chamar essas URLs. É simples de configurar e deixa o deploy limpo.
Por que isso faz diferença na WHN
A WHN nunca foi de entregar um painel e largar o cliente sozinho. É por isso que o deploy via GitHub aqui não é só mais um item de check no carrinho: ele já está habilitado por padrão em nossa plataforma, com Enhance e Apache, e o nosso time ajuda a configurar a primeira publicação com você.
Para a agência que gerencia trinta sites, isso significa parar de virar FTP de cliente em cliente. Para o desenvolvedor que entrega site toda semana, significa parar de reescrever o mesmo deploy script para todo mundo. Para o dono de loja que só quer publicar uma mudança de texto às 22h, significa clicar em um botão e ir dormir.
Um recurso de hospedagem comum vira diferencial de hospedagem quando vem com alguém para configurar junto. Esse é o jeito WHN.
Como começar
Se o seu site já está na WHN, abra o painel e procure a seção GitHub. Se ainda não tem site, dá para conectar a conta do GitHub já na criação.
Em dois casos o recurso não se aplica: site instalado pelo instalador 1-click do Enhance (WordPress, WordPress com WooCommerce, OpenCart e Joomla) e as áreas administrativas de controle (CTL, WML e PMA). Nesses, a seção GitHub simplesmente não aparece no painel.
Para aplicações que rodam fora do PHP — Node.js, Laravel, Rust, Go — o seu plano precisa ter a opção de worker processes habilitada. Na hospedagem compartilhada, Node.js está disponível no plano Empresarial. Fale com a gente antes se o seu caso é esse, que a gente confere o enquadramento do seu plano e configura junto.
Fonte de referência
Conteúdo baseado na documentação pública do Enhance e nas release notes 12.26.0 a 12.26.3, consultadas em enhance.com/docs e enhance.com/support/release-notes, adaptado para a operação da WHN HOST.
Fonte Enhance: /github-deploy/github-deploy-on-enhance.html e /github-deploy/end-user/deploy-via-github.html.
Dúvidas frequentes
Posso publicar um repositório privado?
Sim, e é o caso mais comum. A conexão é feita por um aplicativo criado sob a sua conta do GitHub, e é você quem escolhe quais repositórios ele pode acessar. O Enhance usa esse aplicativo para ler o repositório e fazer o clone. Nada do seu código fica exposto.
Se um build der errado, meu site cai?
Não. Um deploy só é considerado bem-sucedido quando o clone da branch funciona e o comando de build, se existir, termina com sucesso. Se o build falhar, o site publicado continua exatamente como estava, na última versão que deu certo. Dá para testar à vontade.
Funciona em site com WordPress instalado pelo 1-click?
Não. O deploy via GitHub não se aplica a sites instalados pelo instalador 1-click do Enhance, que inclui WordPress, WordPress com WooCommerce, OpenCart e Joomla. Nesses sites a seção GitHub não aparece no painel. Se o seu WordPress foi instalado manualmente ou via FTP, o caso é outro e vale falar com a gente.
Se eu mudar o site de conta, a conexão GitHub vai junto?
Não. Na movimentação de site entre contas, no push live e no clone, os dados de conexão do GitHub não são copiados. O histórico das publicações continua lá, e a conexão precisa ser refeita manualmente. Vale avisar antes de qualquer migração.
Preciso contratar algo novo para usar isso?
No Enhance, o deploy via GitHub já vem habilitado por padrão e não pode ser desligado no nível do pacote. O que varia por projeto é o suporte a worker processes, que precisa estar habilitado no pacote, e a disponibilidade de Node.js na hospedagem compartilhada, presente no plano Empresarial. Fale com o suporte WHN para confirmarmos o enquadramento do seu site e configurarmos a primeira publicação.