Deploy com Git usando FTP

Deploy com Git usando FTP

Esse é mais um daqueles posts cheios de termos técnicos que eu vou super entender se você quiser pular.

No trabalho fazemos deploy automático com git: quando faço um push em master ele faz o deploy sozinho para produção. Isso facilita muito o trabalho porque

  • não vai código sem versionar para produção
  • se der problema é só voltar o commit anterior
  • todo mundo tem autonomia para fazer deploy com segurança
  • não tem como esquecer de enviar algum arquivo
  • temos um histórico de mudanças no projeto, versionado

e muitas outras vantagens. A mais óbvia, pra mim, é que como é automático não tem a mão humana, o que diminui o risco de erros. A gente já fez deploy de redesenho inteiro tipo sexta-feira três da tarde. Aqui é vida loca.

Então eu quis trazer toda essa magia pra casa.

Minha ideia era ter um ambiente local do meu WordPress com multisites que fosse espelho do ambiente de produção e conseguir fazer deploy com git usando ftp, porque meu host não tem ssh.

Acho que configurar o ambiente local com WordPress multisites foi o mais chato. Mas segredo estava nos VirtualHost do Apache.

Funciona assim: para ter WordPress local você precisa de um ambiente (L/M)AMP (Linux/Mac MySQL, Apache e PHP – tem xampp para Windows). Para WordPress sem multisites, é só fazer uma instalação como se fosse em produção: crie uma base no MySQL e instale no localhost.

No WordPress multisites, você não consegue instalar se o endereço for localhost ou 127.0.0.1. A primeira reação é mudar no htdocs para o 127.0.0.1 redirecionar para algum domínio falso, tipo wp.local. Mas você não vai instalar seu WordPress na raiz do htdocs porque se você tiver outros projetos, vai precisar da pasta. Então o endereço acaba ficando wp.local/pasta.

Isso dá um monte de problemas de redirecionamento. Quando criava um novo sub-site perdia os estilos do admin e do blog filho. Uma vez até consegui arrumar isso com .htaccess e paciência, mas meu deus, tava difícil.

Aí descobri os VirtualHosts do Apache, que fazem novos “ambientes” dentro de pastas. Então consegui configurar um wp.local direto para a pasta ~/var/www/html/wp por exemplo. Aí rolou lindo. Ainda uso Multisites com sub-pastas e não subdomínios no ambiente local porque a cada subdomínio eu precisaria criar um Virtual Host e fiquei com preguiça.

A parte do git é tranquila: criei um repositório no BitBucket, baixei na mão tudo que meu host tinha e depois criei um first commit com tudo. Claro que demorou, porque é muita coisa, mas não tive problemas.

Para a parte do FTP foi bem mais simples do que eu esperava. Tem esse plugin Git-Ftp que foi só instalar, configurar e pronto.

Agora meu processo de melhorias no layout do blog não é só mexer no Editor aqui no painel do WordPress, mas

  • Abrir o ambiente local e fazer as modificações
  • Commitar e dar push no repositório
  • Fazer push com FTP

e só então aparece online. Mas isso me deu uma segurança enorme de ter minhas alterações versionadas, de testar antes de colocar coisa quebrada no ar e subir só os arquivos necessários com mais facilidade.

Sei que só dei uma pincelada nesse post, em vez de dizer parte a parte o que fazer (apesar dos links), mas se você enroscar pergunta nos comentários que a gente tenta ajudar 🙂

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *