Como copiar projeto em produção para ambiente local?

135 views
Skip to first unread message

Theo Bittencourt

unread,
Jul 16, 2012, 10:24:59 PM7/16/12
to drup...@googlegroups.com
Qual seria a forma mais rápida de criar um ambiente de desenvolvimento para efetuar alterações em templates no Drupal?

Pedro Rocha

unread,
Jul 16, 2012, 10:49:15 PM7/16/12
to drup...@googlegroups.com
Não entendi. Você precisa da base de dados e dos arquivos, mas oq, mais precisamente, você quer saber?

O mais rápido e adequado, ao meu ver, é trabalhar com versionamento de código e drush, aonde em 1 comando simples em terminal vc consegue pegar o backup do site em produção, copiar para local, apagar o banco local e carregar com esse backup, sendo que os arquivos já são os mais recentes, pq vc somente usa código q está commitado.

abs,
Pedro Rocha

-------------
www.singleview.com.br
www.pedrorocha.net



2012/7/16 Theo Bittencourt <theo...@gmail.com>
Qual seria a forma mais rápida de criar um ambiente de desenvolvimento para efetuar alterações em templates no Drupal?

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+...@googlegroups.com
Para ver mais opções: http://groups.google.com/group/drupal-br?hl=pt-BR_BR?hl=pt-BR

Theo Bittencourt

unread,
Jul 16, 2012, 10:56:19 PM7/16/12
to drup...@googlegroups.com
Oi Pedro!

Eu trabalho com Git e não achei nenhum diretório na raiz no projeto que seja relativo à algum sistema de controle de versão.
Seria perfeito se houvesse um.

Por enquanto, estou baixando o conteúdo do FTP, e subindo o MAMP. 


Em segunda-feira, 16 de julho de 2012 23h49min15s UTC-3, Pedro Rocha escreveu:
Não entendi. Você precisa da base de dados e dos arquivos, mas oq, mais precisamente, você quer saber?

O mais rápido e adequado, ao meu ver, é trabalhar com versionamento de código e drush, aonde em 1 comando simples em terminal vc consegue pegar o backup do site em produção, copiar para local, apagar o banco local e carregar com esse backup, sendo que os arquivos já são os mais recentes, pq vc somente usa código q está commitado.

abs,
Pedro Rocha

-------------
www.singleview.com.br
www.pedrorocha.net



2012/7/16 Theo Bittencourt <theo...@gmail.com>
Qual seria a forma mais rápida de criar um ambiente de desenvolvimento para efetuar alterações em templates no Drupal?

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

Pedro Rocha

unread,
Jul 16, 2012, 11:03:04 PM7/16/12
to drup...@googlegroups.com
Então, vc pode tanto colocar somente o seu tema(ou módulo) como um repositório Git, ou seu projeto inteiro, com o Drupal Core, os módulos, temas, etc(eu adoto essa forma)

O Git q cuida das diferenças entre cada versão, e eu só faço o push e pull, então nem uso o FTP mais. O BD, o ideal é vc ter uma rotina de backup que já gere o arquivo mais recente, então vc pode automatizar com o drush para pegar esse arquivo recente.
2012/7/16 Theo Bittencourt <theo...@gmail.com>
Para cancelar a inscrição deste grupo: drupal-br+...@googlegroups.com

Theo Bittencourt

unread,
Jul 16, 2012, 11:07:13 PM7/16/12
to drup...@googlegroups.com
Então para realizar uma alteração apenas nos templates/layouts/views e precisaria apenas baixar o theme?

Theo Bittencourt

unread,
Jul 16, 2012, 11:13:10 PM7/16/12
to drup...@googlegroups.com
Consegui rodar o projeto no MAMP!
Pelo menos as views estou vendo.
O BD ainda não deve estar funfando.

Pedro Rocha

unread,
Jul 16, 2012, 11:18:00 PM7/16/12
to drup...@googlegroups.com
não precisaria baixar nada, nunca, pq vc teria o repositório do Git locamente

abs,
Pedro Rocha

-------------
www.singleview.com.br
www.pedrorocha.net



2012/7/17 Theo Bittencourt <theo...@gmail.com>
Para cancelar a inscrição deste grupo: drupal-br+...@googlegroups.com

Theo Bittencourt

unread,
Jul 16, 2012, 11:21:17 PM7/16/12
to drup...@googlegroups.com
Me enganou, o MAMP redirecionou para a url em produção.
Existem muitas pastas theme no projeto.
Existe algum padrão para localizar o diretório certo?

Theo Bittencourt

unread,
Jul 16, 2012, 11:25:37 PM7/16/12
to drup...@googlegroups.com
Mas como eu faria para ter os arquivos que estão em produção?
Para lembrar, o projeto parece não estar com Git.
E a única forma que conheço para integrar o git com ftp é o git-ftp.

Theo Bittencourt

unread,
Jul 16, 2012, 11:30:00 PM7/16/12
to drup...@googlegroups.com
Pedro, vc tem disponibilidade para fazer um job rápido?
Eu poderia te encaminhar um cliente?

GMail | Thiago Régis

unread,
Jul 17, 2012, 12:01:17 AM7/17/12
to drup...@googlegroups.com
Theo,

Pelo que entendi, você só precisa clonar o site em ambiente local para fazer algumas alterações no Tema. Para isso, você precisará:
  • Baixar os arquivos para o MAMP (parece ser o que vc está usando)
  • Fazer backup do banco de dados remoto e importá-lo localmente
  • Configurar a conexão com banco de dados no arquivo sites/default/settings.php. Procure pelo array $databases e altere os dados da conexão (de acordo com as configurações locais do MAMP)
Isso será suficiente para você "abrir" seu site localmente.

O diretório padrão para os temas personalizados ou contribuidos é sites/all/themes (ou pode ser sites/default/themes). Em um desses você deverá encontrar o tema do seu site. Também existe um diretório themes na raiz do Drupal, mas esse é destinado apenas aos temas que vêm no núcleo do Drupal.


-- 
Abraço
Thiago Régis
Cursos Online de Drupal: http://cursos.fisqua.com

Theo Bittencourt

unread,
Jul 17, 2012, 12:27:01 AM7/17/12
to drup...@googlegroups.com
Obrigado Pedro! Amanhã continuo a luta.

Bruno Rios

unread,
Jul 19, 2012, 5:40:39 PM7/19/12
to drup...@googlegroups.com
Pedro, 

onde fica guardado o repositorio git do site em producao? no github.com?

tem algum (ou alguns) links que possa me enviar pra eu dar uma estudada sobre como implementar esse workflow do git nos meus projetos? pra usar push e pull e esquecer de vez o ftp...

enfim, por onde começo?

abraço!

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+...@googlegroups.com

Pedro Rocha

unread,
Jul 19, 2012, 5:47:07 PM7/19/12
to drup...@googlegroups.com
Bruno, pode ser em qualquer repositório com Git(ou SVN, etc).

No meu caso, criei um servidor específico para hospedar meus repositórios Git, pq o Github é público(e caro, na versão privativa).

Eu não tenho nenhum link em especial, e na verdade, você pode utilizar workflows be simples para seu desenvolvimento, ou outros bem mais complexos, se quiser/precisar seguir padrões mais elevados de organização.

Acho os tutoriais do Github bem úteis: http://learn.github.com/p/intro.html

abs,
Pedro Rocha

-------------
www.singleview.com.br
www.pedrorocha.net



2012/7/19 Bruno Rios <bruno...@gmail.com>

Bruno Rios

unread,
Jul 19, 2012, 5:58:17 PM7/19/12
to drup...@googlegroups.com
quero algo bem simples...
só pra baixar o codigo do repositorio remoto, fazer alteracoes no repositorio local e sincronizá-los...

entao a duvida é como versionar aquele site simples que ta hospedado no provedor X e como conectar a esse repositorio?

o codigo pode ficar guardado no proprio provedor X onde ta o site?

Bruno Rios

unread,
Jul 19, 2012, 6:08:41 PM7/19/12
to drup...@googlegroups.com
achei uma série de aulas sobre isso e parece bacana

Joel Wallis

unread,
Jul 19, 2012, 6:22:26 PM7/19/12
to drup...@googlegroups.com
Brunao, voce pode começar usando o Bitbucket. Eles permitem até 5 repos de grátis!!! :D :D

Bruno Rios

unread,
Jul 19, 2012, 6:27:20 PM7/19/12
to drup...@googlegroups.com
opa, show Joel!
essa palavra "grátis" é ótima...
e ta saindo melhor do que a encomenda, na verdade eles permitem até 5 USUARIOS gratis, os repos sao ILIMITADOS...

Pedro Rocha

unread,
Jul 19, 2012, 6:31:11 PM7/19/12
to drup...@googlegroups.com
Eu sou chato com isso.. gosto de ter o servidor de Git "dentro de casa". Uso o Gitlab + Gitolite.

Bruno Rios

unread,
Jul 19, 2012, 6:37:56 PM7/19/12
to drup...@googlegroups.com
as peças tao começando a se encaixar...

suponhamos que eu tenha o repositorio remoto no bitbucket.
agora como vou colocar o site no ar em uma hospedagem qualquer?
vou acessar a hospedagem pelo ssh e clonar o repositorio do bitbucket?

Capi Etheriel

unread,
Jul 19, 2012, 6:45:32 PM7/19/12
to drup...@googlegroups.com
você sabe que pra manter um repositório git no seu servidor você só precisa de acesso ssh (e git no cliente), né?
se você colocar um `git pull --ff" no cron, pra rodar a cada minuto, acho que já resolve muita coisa sem precisar de interfaces web.
2012/7/19 Bruno Rios <bruno...@gmail.com>
2012/7/19 Bruno Rios <bruno...@gmail.com>

abraço!

Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com



--
Joel Wallis

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

Danillo Nunes

unread,
Jul 19, 2012, 6:48:30 PM7/19/12
to drup...@googlegroups.com
Se você tiver SSH no servidor de hospedagem, e tiver Git nele*, você pode usar ele próprio como servidor Git. Esse é um dos workflows mais simples possível. Esse artigo explica bem a ideia http://akitaonrails.com/2010/02/13/deploy-com-git-push

* É muito provável que tenha Git nele, se não é muito provável que você consiga instalar com facilidade (ou pedir para instalarem para você).

O Bitbucket é muito legal mesmo. Você pode usá-lo como backup. Lembre-se que Git é um VCS descentralizado, e trabalha naturalmente com múltiplos repositórios (que são chamados de remotes).

2012/7/19 Bruno Rios <bruno...@gmail.com>

Capi Etheriel

unread,
Jul 19, 2012, 6:55:32 PM7/19/12
to drup...@googlegroups.com
Quando você clona um repositório remoto, o git copia todos os commits (organizados em branches) pra um repositório novo, local. A partir de então, são dois repositórios.

Quando você dá git push, o git assume que vc quer jogar seus commits novos no único repositório remoto que ele conhece, o origin, que é de onde você clonou. Aí ele pega uma lista de branches e commits e consulta o outro repositório pra saber o que tem de diferente, e transfere os commits e branches diferentes pro outro repositório.

Quando você dá git pull, é a mesma coisa: ele consulta no outro repo o que tem de novo, e copia. No pull, se tiver algo diferente no repositório, o git também dá um merge entre aquela branch do repositório local e a equivalente do repositório remoto. Na hora de pegar os commits, na verdade o git cria branches no repo local com cópias do commit remoto, só que o nome da branch começa com o nome do remote: origin/master. Ficou confuso, eu acho, mas na prática isso significa que se vc estiver offline você ainda pode ver os branches remotos que vc copiou.

Você pode ter vários repositórios remotos registrados, se for necessário.
2012/7/19 Bruno Rios <bruno...@gmail.com>

abraço!

Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com



--
Joel Wallis

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

Capi Etheriel

unread,
Jul 19, 2012, 6:57:31 PM7/19/12
to drup...@googlegroups.com
pode crer, git hooks :D
coisa linda, dá até pra colocar um drush updb nele :)
2012/7/19 Bruno Rios <bruno...@gmail.com>
2012/7/19 Bruno Rios <bruno...@gmail.com>

abraço!

Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com



--
Joel Wallis

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

--
Ao responder um tópico, reproduza apenas a parte relevante da mensagem original, apagando demais partes e assinaturas.
 
Para cancelar a inscrição deste grupo: drupal-br+unsubscribe@googlegroups.com

Bruno Rios

unread,
Jul 19, 2012, 7:16:04 PM7/19/12
to drup...@googlegroups.com
Imagem inline 1

que coisa maravilhosa!
da pra usar a própria hospedagem como servidor git e fazer pull automático!
e ainda rolou um tutorial passo a passo!
eu amo essa comunidade, obrigado pela aula!

@danillo, como seria essa idéia de usar o bitbucket como backup?
toda vez que eu fizesse um pull no servidor, faria tbm no bitbucket?

abraço!

Para cancelar a inscrição deste grupo: drupal-br+...@googlegroups.com

Pedro Rocha

unread,
Jul 19, 2012, 7:57:29 PM7/19/12
to drup...@googlegroups.com
Seguinte, Kinghost sei que tem Git, e é baratinha. E tem SVN liberado, para quem curte também. Locaweb, eles tem umas restrições lá, mas tem Git também.

Na prática, recomendo usar um servidor dedicado para isso, seja Github, Bitbucket, etc. Sendo especializado, tem mais recursos interessantes. Um que adoro é o envio de email com o diff dos commits para a equipe do projeto. Muito bom isso. Você já vê na hora quando seu parceiro faz cagada no código :P

Joel Wallis

unread,
Jul 19, 2012, 8:00:27 PM7/19/12
to drup...@googlegroups.com
Eu por exemplo uso o Bitbucket (dica do Capi) para guardar o source code do bicho. Daí mais pessoas podem trabalhar com ele, etc. E o melhor é que eu posso continuar a trabalhar na drupalização do projeto enquanto o cara do front-end continua no mockup/tema do projeto, localmente.

Depois juntamos tudo e é só alegria. E isso não é uma "gambiarra" (como seria com o Subversion), mas um recurso nativo do Git.

Cara, Git é foda. :)

Danillo Nunes

unread,
Jul 20, 2012, 12:31:51 AM7/20/12
to drup...@googlegroups.com
2012/7/19 Bruno Rios <bruno...@gmail.com>
Imagem inline 1

Haha, muito boa essa imagem. 
 
que coisa maravilhosa!
da pra usar a própria hospedagem como servidor git e fazer pull automático!
e ainda rolou um tutorial passo a passo!
eu amo essa comunidade, obrigado pela aula!

@danillo, como seria essa idéia de usar o bitbucket como backup?
toda vez que eu fizesse um pull no servidor, faria tbm no bitbucket?

Isso mesmo, o que você faz na verdade é o push para os dois servidores. Se quiser pode até fazer como esse cara aqui e configurar um remote para enviar para os dois servidores de uma vez, mas eu acho isso um exagero.

Capi Etheriel

unread,
Jul 20, 2012, 2:20:36 PM7/20/12
to drup...@googlegroups.com
Pedro, soluções especializadas tem a obrigação de ser ótimas :D
Minha favorita é o Pull Request, do Github. Além de ser comentável (o que ajuda muito na hora de revisar o código), mantém o branch de trabalho até a hora do commit. Aí quando as sugestões são incorporadas, é só fazer o merge — ele até avisa se vai dar trabalho na hora do merge.

Danillo, que demais, não sabia que tinha como dar push pra mais de um repo. Mas fetch de todos os seus repos é tranqüilo: simplesmente rode git fetch --all. Ele vai atualizar todas as cópias locais desses repos, com branches e commits. Mas não tem como, por padrão, fazer um branch seguir mais de um branch remoto (ainda bem).
Reply all
Reply to author
Forward
0 new messages