Projeto PHP Web de controle de versão

votos
30

Temos um projeto PHP que gostaríamos de controle de versão. Neste momento, existem três de nós trabalhando em uma versão de desenvolvimento do projecto, que reside em uma pasta externa a que todos os nossos IDEs Eclipse estão ligados e, portanto, não controle de versão.

Qual é a maneira certa e a melhor maneira de controle de versão isso?

Temos um SVN configurar, mas só precisamos de encontrar uma boa maneira de check-in e que nos permite testar no servidor de desenvolvimento. Alguma ideia?

Publicado 07/08/2008 em 17:46
fonte usuário
Em outras línguas...                            


8 respostas

votos
25

Estávamos em uma situação semelhante, e aqui está o que acabamos fazendo:

  • Configure dois ramos - o ramo de lançamento e desenvolvimento.
  • Para o ramo de desenvolvimento, incluem um gancho post-commit que implanta o repositório para o servidor dev, assim você pode testar.
  • Assim que estiver pronto, você mesclar suas alterações no ramo release. Eu também sugerem colocar em um-commit pós gancho para implantação lá.

Você também pode configurar servidores de desenvolvimento individual para cada um dos membros da equipe, em suas estações de trabalho. Acho que acelera as coisas um pouco, embora você tenha um pouco mais de tempo de configuração.

Tivemos de usar um único servidor de desenvolvimento, porque estávamos usando um CMS proprietário e correu para problemas de licenciamento. Assim, o nosso post-commit gancho era um simples bot FTP.

Respondeu 07/08/2008 em 17:56
fonte usuário

votos
5

Aqui está o que fazer:

  • Cada dev tem uma VM que está configurado como o nosso servidor de integração
  • O servidor de integração tem espaço para Tronco, cada usuário, e alguns slots para filiais
  • O servidor de produção
  • Hooks estão em Subversion para o e-mail quando submissões são feitas

No início de um projeto, o usuário faz um ramo e verifica-lo em sua VM pessoal, bem como agarra uma cópia limpa do banco de dados. Eles fazem o seu trabalho, comprometendo como eles vão.

Depois de terem terminado tudo em seu próprio espaço pessoal que entrar no servidor de integração e confira seu ramo, executar seus testes, etc. Quando tudo que passa seu ramo é incorporada pela Trunk.

Tronco é reconstruído, o conjunto completo de testes são executados, e se tudo é bom ele começa o ol selo grande' de aprovação, marcado em SVN, e promoveu a produção no final da noite.

Se em qualquer ponto de uma confirmação por outra pessoa é feita, temos um e-mail e pode mesclar essas alterações em nossos ramos individuais.

Respondeu 07/08/2008 em 22:15
fonte usuário

votos
3

Beanstalk foi construído com post-commit ganchos para a implantação de servidores de desenvolvimento, teste e produção.

Respondeu 08/08/2008 em 19:17
fonte usuário

votos
2

Que tal algo distribuído? Você pode começar por exemplo com Mercurial, experimentar diferentes fluxos de trabalho, e ver qual delas você se encaixa melhor.

Respondeu 17/03/2010 em 22:09
fonte usuário

votos
2

Uma maneira de usar o subversion para o desenvolvimento PHP é demasiado configurar um repositório para um ou todos os três desenvolvedores, e usar este repositório, mais como uma ferramenta de sincronização, de controle de versão verdadeira.

Você poderia,

  • Faça um repo

  • Adicione a sua estrutura de documento PHP inteira de seu projeto

  • Check-out uma cópia deste repo para o local correto no seu servidor dev

  • Use um gancho svn, que ativa a cometer

Este gancho, irá atualizar automaticamente o conteúdo do Sever dev, sempre que alguém sobre os controlos da equipe em qualquer código.

Gancho reside em:

svn_dir / repo_name / hooks / post-commit

E poderia ser semelhante a:

/ Usr / bin / svn up / path_to / webroot --username svn_user --password svn_pass

Que irá atualizar sua cópia de trabalho no servidor de dev com o último check-in.

Respondeu 07/08/2008 em 18:04
fonte usuário

votos
0

Outra ferramenta que você pode usar para a constrói é TeamCity que é gratuito para 20 configurações de compilação (suficiente para a maioria das pequenas empresas / projectos.) Desta forma, você pode executar os testes, bem como cronograma constrói.

Respondeu 19/09/2008 em 10:18
fonte usuário

votos
0

Uma maneira possível (provavelmente há maneiras melhores):

Cada um de vocês deve ter sua própria versão check-out do projeto.

Ter uma cópia local do servidor no seu computador e testá-lo lá durante todo o dia. Então, no final de cada dia (ou sempre), você se fundem o que você está pronto para testar, e você verificá-la para o servidor dev e testá-lo.

Respondeu 07/08/2008 em 17:57
fonte usuário

votos
0

Cada um de vocês poderia executá-lo localmente, ou em seu próprio servidor dev (ou mesmo o mesmo com uma porta diferente ...).

Respondeu 07/08/2008 em 17:49
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more