Re: [PHPBR] E-mail de compilação para lista-phpbr@googlegroups.com - 3 atualizações em 2 tópicos

11 views
Skip to first unread message

Ismael Volkmann

unread,
Jun 3, 2015, 10:59:47 AM6/3/15
to lista...@googlegroups.com
Bom dia Mauro,

Sobre o GIT, estou usando ele a algum tempo no trabalho então tenho um pouco de conhecimento a respeito, mas não domino plenamente, tenho muito q aprender ainda. Vamos lá.

Primeiro, esqueça a ideia de buscar arquivos do server de desenvolvimento(de teste pelo oq entendi), os arquivos só virão do repositório GIT(onde ficarão centralizados e com controle de versão(seu histórico)). Depois que o programador A, fez uma modificação no arquivo a.php, ele faz o commit e push(explico melhor mais adiante) para o repositório GIT, a partir dai, o arquivo a.php está disponível com a ultima atualização para outros programadores pegarem ele(cuidado para mais de um programador não mexer no mesmo arquivo ao mesmo tempo, isso gera conflitos caso façam alterações nas mesmas linhas do arquivo).
2° passo, colocar os arquivos modificados no servidor de testes. Bem, vc pode manualmente pegar eles do git e então jogar via ftp no seu public_html ou então usa nosso querido GIT pra esta missão(existem tutoriais na net só pra este fim). Sim, pode-se utilizar ele pra isso, mas primeiro é preciso entender bem como funciona o fluxo de trabalho do git, então vamos lá..

Supondo que já exista um servidor com o GIT e que todos os programadores acessam ele para buscaremrquivos (comando fetch seguido de pull) e enviarem arquivos modificados (comando commit seguido de push), vamos ao que interessa.

Explicando os comando citados:
Programador A precisa pegar um arquivo no repositório central, então ele faz:
git fetch (para obter as modificações  que ele não tem na máquina local)
O comando acima não atualiza os arquivos que ele tem no diretorio de trabalho local dele, apenas atualiza o repositório local dele(sim, repositorio local, o git trabalha assim, todos programadores tem todas as versões de todos os arquivos localmente). Para que o diretorio de trabalho(aquele que contem os arquivos que ele edita com sua IDE preferida) receba os arquivos na sua ultima versão, ele executa o comando:
git pull (este comando, traz do repositorio local para a pasta de trabalho, as ultimas atualizações dos arquivos).

O programador fez modificações e quer enviar para o repositório central, então ele faz o seguinte:
git commit (este comando pega as modificações do diretorio de trabalho e adiciona ao repositório local, este comando não envia para que fique acessível aos outros programadores, é só local). E para que envie para o repositorio central, executa:
git push (este comando pega as atualizações que estão no seu repositorio local e envia para o central).

Não sei se ajudei ou te confundi ainda mais, no começo eu me quebrei um pouco com o GIT, mas vale muito a pena
utilizar ele, uso o dropbox como repositório "central", assim acesso minhas modificações de qualquer lugar a partir de qualquer computador meu.

Por favor, leia o passo a passo do link a baixo, aprendi com ele, é do próprio GIT.

Boa sorte,
Abraço!



Ismael

Em 2 de junho de 2015 22:25, <lista...@googlegroups.com> escreveu:
Mauro Tschiedel <ma...@usinainfo.com.br>: Jun 02 10:58AM -0300

Pessoal,
Estou com uma duvida 'besta'....mas nao achei resposta
 
Hoje trabalhamos com prestashop, e minha equipe trabalha num servidor web,
de desenvolvimento e conecta via ftp neste e vai desenvolvendo e testando.
Tudo opera tranquilo, porém nao tenho um 'historico' do que é feito.
 
Sei que o git 'resolve' isto, porem tenho uma duvida no meu fluxo, vou
tentar descrever abaixo para ver se vocês consigam me ajudar.
 
Programador A -> puxa o arquivoA.php do server de desenvolvimento > altera
o mesmo -> manda para o servidor e esquece de fazer commit, perdi a versão.
Programador B -> puxa versão do github em vez do server > pega a versão
desatualizada > ferrou o processo.
 
Como que você resolve isto? ou estou pensando 'errado' o fluxo de trabalho?
Agradeço se puderem me dar uma luz de como 'solucionar' neste formato, se é
que tem solução.
Obrigado desde já.
 
Abraço,
Mauro
Mauro Tschiedel <ma...@usinainfo.com.br>: Jun 02 09:59PM -0300

Boa Noite Maximiliano,
Acho que entendi. Muito show.
Mas vamos lá, montei um 'rabisco' do que entendi >
https://docs.google.com/presentation/d/1evNa--JLOv5jmu7pmWUl6hqjRRF7NcjhabugQZdhzIg/edit?usp=sharing
Fiquei como uma dúvida. Se olhar "Branch Prog. A" e "Branch Prog. B", na
minha cabeça ele puxa do repositorio o arquivo...altera...e tal....faz o
commit e ele volta para o repositório.
Porém como que ele vai testar, se o arquivo tá no repositorio e nao no
'public_html' ou outra pasta acessivel do servidor? ou o repositorio é
definido na mesma pasta do public_html, por exemplo.
Podem editar o ppt.
Abraço,
Mauro
 
 
 
 
 
 
 
<http://www.usinainfo.com.br>
 
Em 2 de junho de 2015 11:27, Maximiliano Brizolla <maxbr...@gmail.com>
escreveu:
 
PGInterativa <con...@pginterativa.net.br>: Jun 01 01:02PM -0300

Tbm tenho interesse para SP
Você recebeu esse resumo porque está inscrito para receber atualizações deste grupo. Você pode alterar suas configurações na página de associação do grupo.
Para cancelar sua inscrição neste grupo e deixar de receber e-mails do mesmo, envie um e-mail para lista-phpbr...@googlegroups.com.

Valéria Parajara

unread,
Jun 3, 2015, 4:29:28 PM6/3/15
to lista...@googlegroups.com
Eu queria responder a pergunta sobre o GIT, mas perdi a referencias dessa conversa... Como pelo menos tenho a do Mauro, então meus 0,02:

Se vc usa ainda FTP, por qlqr motivo, o ideal é que o programador A e B, tenham o habito de comitarem TODAS as alterações sem antes de passar para o servidor. Foi assim que ao implantar o git em uma determinada empresa que trabalhei, consegui evitar esse tipo de ocorrência, até implantar o capristano. 

Usar git pull --rebase, faz com que já realize o merge das atualizações no servidor com as suas, antes de vc dar git push origin branch_qlqr. 


Meu abraço,
Valéria Parajara
Tel. (21) 99199-7565

--
--
---
Você recebeu esta mensagem por estar inscrito no grupo "PHP BR"
 
*** NÃO ESQUEÇA: As regras do grupo estão disponíveis em nossa Wiki:
http://wiki.phpbr.com.br/index.php/Regras_de_Utiliza%C3%A7%C3%A3o_da_Lista
 
Para enviar mensagens para o grupo, envie e-mails para lista...@googlegroups.com
Para cancelar sua inscrição neste grupo, envie e-mail para lista-phpbr...@googlegroups.com
Para mais opções visite este grupo em: http://groups.google.com/group/lista-phpbr
---
Você recebeu essa mensagem porque está inscrito no grupo "PHPBR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para lista-phpbr...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Mauro Tschiedel

unread,
Jun 6, 2015, 10:29:36 AM6/6/15
to Lista PHPBR
Pessoal.
@valéria, eu acho que o googlegroups tá meio pirado...alguns email nao entram ou algo assim, mas vamos adiante.

Obrigado pelas respostas de todos.
Vamos lá, está ficando claro, ou sou meio tapado! Na verdade, acho que a minha duvida paira num ponto somente agora. Como que faço para testar o codigo ao mesmo tempo que armazeno ele no git, sendo que o teste nao será na maquina local do programador, e sim num servidor que tem o git + apache (por exemplo)
Duvida atual, se tenho o branch A do programador A, rodando o Git, e tal...o programador faz o commit e o push para o git, e ele quer testar se o codigo funcionou. Este repositorio, deverá obrigatoriamente estar na mesma pasta do apache ou seja, na pasta public_html/branch_a/arquivoA.php (exemplo)

Acho que é isto.

Abraço e obrigado a todos.
Mauro








Valéria Parajara

unread,
Jun 7, 2015, 6:56:45 PM6/7/15
to lista...@googlegroups.com
Vc cria um ambiente de desenvolvimento, aonde  todos os desenvolvedores irão commitar seus branch's e após aprovação vc envia para deploy para o seu servidor principal... 

Da uma olhada na documentação do capristano.... Ele vai te ajudar a montar esses ambientes :)

Mauro Tschiedel

unread,
Jun 8, 2015, 8:36:46 AM6/8/15
to ismavolk, Lista PHPBR
Bom dia,
Ai que tá o que não consigo entender até hoje.
Seguindo a logica, codificar >> commit >> teste, não vai rolar, pq o commit não 'grava' no mesmo formato de arquivo normal.
Terei que ter: codificar >> commit >> deploy >> teste,  ou seja, colocar uma tarefa adicional antes de testar, 
O que estou enxergando é que cada programador, codifica local...e ai testa local..e depois dá commit, é este o caminho mais usado?
Att
Mauro







Em 8 de junho de 2015 09:13, ismavolk <isma...@gmail.com> escreveu:
Bom dia Mauro,

Sobre o repositorio git estar na mesma pasta do apache, isso não rola, pois o git compacta os arquivos.
O que vc pode fazer é deploy com o git, mas antes, procure entender bem o git pra não te confundir, este deploy utilizando o git, entenda como um "extra", pois não é o foco do git: http://blog.thiagobelem.net/automatizando-a-instalacao-deploy-e-atualizacao-de-sites-com-git/

Para entender bem sobre git, olhe neste site, aprendi nele. aí tem tudo:


Mauro Tschiedel

unread,
Jun 8, 2015, 10:03:59 AM6/8/15
to ismavolk, Lista PHPBR
Bom dia,
Na minha cabeça 'deveria' existir um 'push power ultra mega' que ao enviar, ele envia-se para um public_html do apache que ele versionou e repassou a copia versionada para o teste, que deve ser o que tu fala do deploy automatico.
Mas blz, vou estudar mais sobre isto e tentar rodar juntando as sugestões.
Abraço,
Mauro






Em 8 de junho de 2015 10:32, ismavolk <isma...@gmail.com> escreveu:
Exato Mauro, depois do commit e push, é necessário o deploy para que a equipe de testes faça seu trabalho.
O GIT se preocupa apenas em ser um controle de versão.

Só um detalhe, o commit grava sim, mas no repositório do GIT local(maquina do programador), depois o push é que vai enviar este commit para o central(github ou até o dropbox mesmo) onde ficará disponível a todos.

Maaaassss, existe a possibilidade de fazer deploy com o GIT conforme mencionei em outro email. Eu usei o deploy com GIT mas
acabei fazendo bagunça, não gostei muito. Acho que seria melhor usar uma ferramenta dedicada para deploy.

ismavolk

unread,
Jun 8, 2015, 6:16:56 PM6/8/15
to lista...@googlegroups.com, ma...@usinainfo.com.br
Bom dia Mauro,

Valéria Parajara

unread,
Jun 8, 2015, 6:17:03 PM6/8/15
to lista...@googlegroups.com, ismavolk
Bem, pela lógica normal seria, TDD >> codifica >> deploy_homologação >> deploy_produção, isso é a boa pratica que mesmo em PHP deveria ser respeitada.

E pelo que entendi, os programadores aqui já não usam mais ftp e realizam deploys a partir de um ambiente de homologação (testes) e não local.

Continuo sem entender então essa discussão

Meu abraço,
Valéria Parajara

Luís Henrique Faria

unread,
Jun 8, 2015, 6:17:52 PM6/8/15
to lista...@googlegroups.com, ismavolk
Então, depende do tamanho da sua aplicação e os tipos de teste que você faz.
Se houver a possibilidade de os devs terem o próprio ambiente local, mesmo que usando um vagrant da vida, é o ideal. Ninguém envia nada ao repositório sem testar antes, melhor pra todo mundo.

Agora se for um teste longo e demorado, executado por outras pessoas ou coisa parecida, você pode fazer como citou também que funciona. Automatizando o processo é muito mais tranquilo.
Em 8 de junho de 2015 09:36, Mauro Tschiedel <ma...@usinainfo.com.br> escreveu:

ismavolk

unread,
Jun 8, 2015, 6:18:13 PM6/8/15
to lista...@googlegroups.com, ma...@usinainfo.com.br
Exato Mauro, depois do commit e push, é necessário o deploy para que a equipe de testes faça seu trabalho.
O GIT se preocupa apenas em ser um controle de versão.

Só um detalhe, o commit grava sim, mas no repositório do GIT local(maquina do programador), depois o push é que vai enviar este commit para o central(github ou até o dropbox mesmo) onde ficará disponível a todos.

Maaaassss, existe a possibilidade de fazer deploy com o GIT conforme mencionei em outro email. Eu usei o deploy com GIT mas
acabei fazendo bagunça, não gostei muito. Acho que seria melhor usar uma ferramenta dedicada para deploy.


Em segunda-feira, 8 de junho de 2015 09:36:46 UTC-3, Mauro Tschiedel escreveu:

Valéria Parajara

unread,
Jun 8, 2015, 6:18:51 PM6/8/15
to lista...@googlegroups.com
Rsrsrs deve ser, leia a documentação do capristano, com certeza ele vai te ajudar nesse comando "ultra mega power" que eu conheço como cap deploy, que vc tanto quer, a pasta não importa, vc vai fazer o apontamento para onde vc quiser, mas tira essa cabeça de programador php de 2005! Deploy automatizado, testes, boas praticas é o que separa os meninos, dos homens! No meu caso, as meninas das mulheres rsrs

Segue mais uma link para leitura:


Qlqr coisa mande mensagem, se der para tirar a duvida, estamos ae!

Meu abraço,
Valéria Parajara


Mauro Tschiedel

unread,
Jun 9, 2015, 10:20:05 AM6/9/15
to Lista PHPBR
Bom dia pessoal
@valéria: adorei a frase de separar os homens dos meninos. Estou tentando evoluir, ainda sou um 'piá' com dizem aqui no sul em git....hehehe

Eu comecei a discussão por que quando vejo tutoriais falando de git, ou tem o basico (push, pull...commint), em uma maquina e operando local...ai é 'barbada', mas ai quando comecei ler...estudar, não encontrei nada 'claro', igual as explicações que você deram nesta discussão, extremamente válidas. Quando sugerem capistrano, automatizacao de deploy...etc..etc...deixa mais 'claro'.
O que me deixava encucado era, o fluxo em si e não se o comando é A/B/C faz isto, aquilo e aquele outro.

Quero ver se daqui uns dias, inicio teste de uso e ai relato para você como foi, ou se não foi...hehehe...e voltei a ser um piá (brincadeira valéria).

E o grupo está ativo..isto é bom...muito bom....

Abraço
Mauro







Reply all
Reply to author
Forward
0 new messages