Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Detonador PHP

Melhor forma de desenvolver em equipe

Recommended Posts

Olá pessoal, tudo blz?

 

A anos trabalhamos da seguinte forma aqui na empresa:

Temos um servidor de arquivos local, rodando dentro da empresa, onde ele armazena todos os nossos softwares. Então para não termos problema de sobrescrever alterações de outros programadores nós nos conectamos a esta máquina e realizamos todas as alterações sempre nos mesmos arquivos, ou seja: todos os programadores alteram, por exemplo, o arquivo classes/Usuarios.php. Assim evitamos de cada máquina ter uma versão diferente do mesmo arquivo.

 

Depois de todas as alterações serem finalizadas subimos o projeto para uma pasta online de desenvolvimento, para que o projeto fique na web apenas para nosso pessoal poder acessar a aprovar as alterações. E depois de aprovado, finalmente subimos as alterações para o ambiente de produção final.

 

Só que é uma baita mão.

 

Queria saber se vocês trabalham com uma metodologia melhor para acabar com esta muvuca toda.

 

Atualmente estou tentanto implementar GIT aqui na empresa. Mas ao fazer isso vamos ter que descentralizar nosso servidor de arquivos, porque cada um vai ter que ter sua própria versão do projeto em sua máquina, correto?

 

Mas dai como fica pra cada um ter o mesmo servidor de desenvolvimento instalado, para evitar que uns tenham um Apache ou PHP diferente dos outros? E como faço para ter um ambiente de testes online pra mostrar as alterações para serem aprovadas.

 

Bom, em resumo estou querendo saber uma forma melhor de desenvolvermos em equipe.

 

Abraço a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui trabalhamos com SVN, cada um possui sua working copy, faz suas alterações nela e faz commit para o servidor central(que seria o seu servidor atual). Então ao subir para produção pega o que tem nesse servidor.

O servidor serve como um ambiente de testes, onde pode ser testadas todas as alterações de cada programador juntas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SVN é uma grande m***** por ser centralizado, você faz um commit, vai automaticamente para o repositório central. Eu vou de GIT sem pensar duas vezes.

 

Versão do Apache ou do PHP diferente, isso daí não tem jeito, só conversando e definindo isso.

 

 

Para garantir que todos estão com a última versão do repositório, basta executar git pull.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para resolver a questão de apaches/php diferente é só criar um ambiente no próprio servidor para cada usuario.

Dessa forma todos trabalhariam no mesmo servidor sem prejudicar o trabalho do outro e quando finalizasse uma versão é só dar um update no ambiente principal.

Isso usando algum tipo de versionador, claro. SVN é bom mas tem alguns problemas para resolver conflitos, o GIT é melhor nesse ponto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gostei muito da sua idéia Cristian.

Para fazer a publicação tu acharia interessante o uso do Grunt?

Faz os commits com o GIt e também todo o versionamento e depois automatiza tarefas como minificação dos js e css e a publicação com o Grunt.

 

O que acha?

 

 

Emerson, como funciona o Vgrant?

 

 

Ele cria ambientes de desenvolvimento na nuvem, mas quando mando rodar ele roda na minha máquina?

 

É a solução para usarmos a mesma configuração de servidor em máquinas diferentes?

 

Fale-me mais sobre o assunto!

hehehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também estou curioso sobre o Vagrant.

 

SVN é uma grande m***** por ser centralizado, você faz um commit, vai automaticamente para o repositório central. Eu vou de GIT sem pensar duas vezes.

 

Trabalho com GIT também, são duas abordagens diferentes. Não entendi qual é o problema que você vê do SVN commitar para o repositório central.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atualmente estou tentanto implementar GIT aqui na empresa. Mas ao fazer isso vamos ter que descentralizar nosso servidor de arquivos, porque cada um vai ter que ter sua própria versão do projeto em sua máquina, correto?

 

Mas dai como fica pra cada um ter o mesmo servidor de desenvolvimento instalado, para evitar que uns tenham um Apache ou PHP diferente dos outros? E como faço para ter um ambiente de testes online pra mostrar as alterações para serem aprovadas.

1 - Errado, cada um tem que ter a versão dos arquivos que tem no servidor git na sua maquina, antes de colocar lá as alterações cada um tem que dar um pull (pegar as alterações do servidor) dar um merge com o dela (para ver se não mecheram no mesmo arquivo) e depois dar um push (enviar ao servidor)

 

2 - O padrão é terem o apache e o php local delas igual, mas isso não influenciará a menos que seja necessário a utilização de algo especifico do apache ou php ex: mod_rewrite, biblioteca grafica php.

 

3 - Como fazer para ter uma versão on-line para aprovação? R : o que você tem no servidor git é o que tá valendo (ou deveria estar valendo) este é o conteúdo que você tem que mandar para o seu servidor de produção (ou de teste pelo cliente).

 

Como organizar tudo isso?

 

a) Os funcionários tem que ter consciência que devem mandar para o Git apenas o que localmente já testaram e validaram (push).

b) Conhecer como funciona os comandos do Git (add, checkout, stash, commit, merge, pull, push etc.)

c) Trabalharem com um ambiente local igual (instalação default do apache e mods php) assim como versões iguais.

 

Conhecimento é a base de tudo, depois torna-se fácil gerir um sistema com uma ferramenta de svn.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a) Os funcionários tem que ter consciência que devem mandar para o Git apenas o que localmente já testaram e validaram (push).

 

Com isso você quer dizer que o que for enviado para o Git deve estar compilando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.