Ambiente Ideal Dev

1

Temos um servidor de desenvolvimento baseado em Linux ao qual nos conectamos a partir de nossos desktops baseados em Windows (via ssh, scp, samba (unidade de rede mapeada), etc)

Estamos desenvolvendo web em perl, usando apache2, mod_perl e MySQL, e nossa base de código está sob controle de origem SVN.

Qual é a melhor maneira de permitir que todos (atualmente 5) desenvolvedores desenvolvam independentemente?

No passado, experimentei executar várias instâncias do apache (obtidas cortando o código-fonte e a compilação do apache)

Mas talvez seja melhor usar a virtualização e efetivamente dar a cada desenvolvedor o seu próprio servidor de desenvolvimento (parece um pouco exagerado para o desenvolvimento da web)

E se eu só executar uma instância do apache, qual é a melhor maneira de redirecionar a solicitação recebida para a base de código correta? porta? subdomínio? Endereço IP do cliente?

Obrigado

    
por aidan 01.10.2009 / 10:57

2 respostas

3

Máquinas virtuais são ótimas para esse tipo de coisa - cada desenvolvedor pode trabalhar sem medo de entrar no caminho de outra pessoa, e eles podem brincar com as mudanças na configuração do sistema para suportar o novo código, se necessário. A manutenção de um ambiente de produção é fácil com uma imagem mestre de VM ou gerenciamento de configuração.

    
por 01.10.2009 / 11:53
1

Eu realmente recomendo usar as funções do VirtualHost embutidas do Apache. Usando hosts virtuais baseados em nome, você pode executar uma instância do apache com bases de código raiz completamente diferentes. Eles terão que ter seu próprio nome de domínio por usuário, mas isso não deve ser um problema. Você vai acabar com algo como:

mark.dev.example.com
james.dev.example.com
julia.dev.example.com

Como você já tem uma configuração do servidor SVN, pode criar um repositório independente para cada usuário, que pode ser mesclado de volta ao tronco principal quando terminar de trabalhar nele. Você pode fazer SSL com estes também, mas se você quiser usar o mesmo certificado, ele precisará ser um curinga ou incluir todos os endereços adicionais.

Você pode obter mais informações sobre hosts virtuais baseados em nome no site do apache para a versão 1. x e versão 2.x

Você também pode fornecer aos seus desenvolvedores os próprios bancos de dados MySQL sem executar um banco de dados adicional (suponho que seu software possa especificar o nome do banco de dados que ele conecta não apenas ao host).

    
por 01.10.2009 / 16:18