Como Integrar Git Hooks no WP Engine para Automação de Deploys sem Plugins

O Segredo Sujo dos Plugins de Deploy no WordPress

A maioria dos plugins de deploy ou staging para WordPress são gambiarras que consomem recursos, abrem brechas de segurança e falham em produção. Se você usa WP Engine e quer deploys rápidos, seguros e sem depender de terceiros, precisa de uma abordagem radicalmente diferente: Git Hooks + SFTP direto.

Por que os Plugins São o Inimigo?

Plugins como WP Migrate DB Pro ou All-in-One WP Migration são práticos em ambientes de desenvolvimento, mas em produção eles: (1) criam atalhos de segurança ao expor endpoints HTTP; (2) sobrecarregam o banco de dados com operações síncronas; (3) não oferecem rollback sem backup manual. E o pior: dependem da execução PHP durante o request do usuário.

A Solução: Git Hooks + SFTP no WP Engine

WP Engine bloqueia acesso shell tradicional, mas oferece SFTP e um sistema de Git push com deploy automático via chaves SSH. Você pode configurar um hook local que, ao dar git push para o repositório Git deles, dispara um script que sincroniza apenas os arquivos alterados para o servidor via SFTP. Assim: zero plugins, zero overhead.

Passo a Passo Técnico

1. Gere um par de chaves SSH e adicione a pública no painel do WP Engine (ambiente de desenvolvimento ou staging).
2. Crie um repositório Git vazio no WP Engine: git remote add wpe git@git.wpengine.com:instalacao/nomedoprojeto.git
3. No seu repositório local, adicione um arquivo .git/hooks/pre-push com conteúdo:

#!/bin/bash
# Sincroniza apenas arquivos alterados via SFTP
while read local_ref local_sha remote_ref remote_sha
do
if [ "$remote_ref" = "refs/heads/producao" ]; then
echo "Fazendo deploy automático para produção..."
rsync -avz --delete -e "ssh -p 2222" --include='wp-content/plugins/meu-plugin/**' --exclude='*' ./ usuario@seudominio.sftp.wpengine.com:wp-content/
fi
done

4. Dê permissão de execução: chmod +x .git/hooks/pre-push
5. Faça git push wpe producao e veja a mágica acontecer.

Por que Isso é Mais Seguro?

Você elimina plugins maliciosos ou com vulnerabilidades conhecidas. O deploy é gatilhado por push, não por visitas genéricas. O SFTP usa conexão criptografada e autenticação por chave, sem expor credenciais em painéis WordPress. Além disso, você ganha controle de versão do código e dos temas/plugins que desenvolve.

Cuidados Cruciais

Não sincronize a pasta wp-content/uploads via deploy (use CDN ou object storage). Mantenha o .gitignore configurado para ignorar arquivos de cache e logs. E lembre-se: esse método serve para arquivos estáticos e código personalizado. Atualizações de plugins de terceiros devem ser feitas manualmente ou via composer (se o WP Engine suportar).

Conclusão: Pare de tratar WordPress como uma plataforma frágil. Use as ferramentas nativas e automatize sem plugins. Seu site vai ficar mais rápido, seguro e profissional.

Rolar para cima