Deploy com Git usando FTP | Diário de Bordo
Deploy com Git usando FTP
Homepage Cabine de comando Deploy com Git usando FTP
Written by Marta 17/08/2015 No Comment
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 🙂