Pergunta

Temos um projeto PHP que gostaríamos de controlar a versão.No momento, somos três trabalhando em uma versão de desenvolvimento do projeto que reside em uma pasta externa à qual todos os nossos IDEs Eclipse estão vinculados e, portanto, sem controle de versão.

Qual é o caminho certo e a melhor maneira de controlar isso?

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

Foi útil?

Solução

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

  • Configure duas ramificações – a ramificação de lançamento e desenvolvimento.
  • Para o branch de desenvolvimento, inclua um gancho pós-commit que implemente o repositório no servidor de desenvolvimento, para que você possa testar.
  • Quando estiver pronto, você mesclará suas alterações no branch de lançamento.Eu também sugeriria colocar um gancho pós-commit para implantação lá.

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

Tivemos que usar um único servidor de desenvolvimento porque estávamos usando um CMS proprietário e tivemos problemas de licenciamento.Portanto, nosso gancho pós-commit foi um simples bot de FTP.

Outras dicas

Aqui está o que fazemos:

  • Cada dev possui uma VM configurada como nosso servidor de integração
  • O servidor de integração possui espaço para Trunk, cada usuário e alguns slots para filiais
  • O servidor de produção
  • Os ganchos estão no Subversion para enviar por e-mail quando os commits são feitos

No início de um projeto, o usuário faz um branch e faz o check-out em sua VM pessoal, além de obter uma cópia limpa do banco de dados.Eles fazem seu trabalho, comprometendo-se à medida que avançam.

Depois de terminar tudo em seu espaço pessoal, eles fazem login no servidor de integração e verificam sua filial, executam seus testes, etc.Quando tudo isso passa, seu branch é mesclado no Trunk.

O Trunk é reconstruído, o conjunto completo de testes é executado e, se tudo estiver bem, ele recebe o grande e velho selo de aprovação, marcado no SVN e promovido para Produção no final da noite.

Se a qualquer momento for feito um commit por outra pessoa, receberemos um e-mail e poderemos mesclar essas alterações em nossos ramos individuais.

Pé de feijão possui ganchos pós-confirmação integrados para implantação em servidores de desenvolvimento, teste e produção.

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

Você poderia,

  • Faça um repositório

  • Adicione toda a estrutura do documento PHP do seu projeto

  • Faça check-out de uma cópia deste repositório no local correto em seu servidor de desenvolvimento

  • Use um gancho svn, que é ativado no commit

Este gancho atualizará automaticamente o conteúdo do servidor de desenvolvimento, sempre que alguém da equipe fizer check-in de qualquer código.

O gancho reside em:

svn_dir/repo_name/hooks/post-commit

E poderia parecer:

/usr/bin/svn up /caminho_para/webroot --nomedeusuário svn_user --senha svn_pass

Isso atualizará sua cópia de trabalho no servidor de desenvolvimento para o check-in mais recente.

E algo distribuído?Você pode começar, por exemplo, com o Mercurial, experimentar diferentes fluxos de trabalho e ver qual deles se adapta melhor a você.

Cada um de vocês pode executá-lo localmente ou em seu próprio servidor de desenvolvimento (ou até mesmo no mesmo com uma porta diferente...).

Uma maneira possível (provavelmente existem maneiras melhores):

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

Tenha uma cópia local do servidor em seu computador e teste-a durante o dia.Então, no final de cada dia (ou quando quiser), você mescla tudo o que está pronto para testar, verifica no servidor de desenvolvimento e testa.

Outra ferramenta que você pode usar para as compilações é EquipeCidade que é gratuito para 20 configurações de compilação (suficiente para a maioria das pequenas empresas/projetos). Dessa forma, você pode executar seus testes e também agendar compilações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top