Como garantir que o ambiente de desenvolvimento = staging = production?

3

Estou trabalhando em uma pequena empresa iniciante e nosso orçamento está apertado, mas nós temos um. Atualmente, todos os desenvolvedores trabalham em um único servidor usando hosts virtuais separados. Isso é problemático porque cada um precisa de seu próprio php, incluindo o caminho para scripts de linha de comando, mas isso não é possível com hosts virtuais ... Eu sei que idealmente cada desenvolvedor teria sua própria caixa, mas o orçamento não permite isso. Encenação & A produção tem seus próprios servidores e caminhos de inclusão dedicados. O que é uma boa maneira de garantir que o desenvolvimento seja o mais próximo possível da preparação / produção? Existe uma empresa de hospedagem que possa fornecer algum tipo de clone de produção de máquina virtual? Existe alguma outra estratégia que devemos usar?

No momento, estamos executando o CentOS, MySQL 5.1.x, Apache 2.x, PHP 5.1.x

    
por lo_fye 07.08.2009 / 01:45

5 respostas

3

Se você tiver algum orçamento, por que não comprar uma máquina para executar como um servidor Xen e fornecer às máquinas virtuais dos desenvolvedores em que elas podem ser reproduzidas? As VMs podem vir da mesma imagem e ter a mesma configuração de software que suas caixas de teste e produção.

    
por 07.08.2009 / 02:12
1

Você pode realmente comprar um dedicado ou configurar um em seu escritório (o custo não é mais alto), instalar o centos e openVZ (que é a versão de código aberto do Parallels Virtuozzo Containers).

Crie um contêiner (que é um servidor privado virtual) e instale, ajuste o servidor privado como desejar, assim que terminar, você poderá desligá-lo e enviá-lo como um modelo.

Uma vez feito isso, você pode usar esse modelo para disparar vários servidores privados dentro de alguns segundos, assim você será capaz de fornecer aos seus desenvolvedores idential servidores para o seu ambiente de desenvolvimento / produção. / p>

Obrigado,

    
por 07.08.2009 / 06:50
0

Você não desenvolve localmente? Por que os desenvolvedores não usam suas máquinas locais para desenvolvimento e, em seguida, testam a preparação antes do desplugamento. Eu sei que não é o ambiente exato, mas funciona bem na minha loja.

    
por 07.08.2009 / 01:49
0

Você pode configurar caminhos separados para vhosts diferentes, mas eu definitivamente seguirei a rota da VM (usamos imagens KVM padronizadas para rodar nas estações de trabalho das pessoas), com gerenciamento de configuração (por exemplo, Puppet) para garantir que as coisas permaneçam sincronizar.

    
por 07.08.2009 / 02:15
0

Eu quase me pergunto se isso seria melhor perguntado no stackoverflow.

Meu método preferido é geralmente automatizar com um script / programa a criação dos ambientes de desenvolvimento / preparação / produção. Então, depois de ter um sistema em que os detalhes críticos possam ser configurados automaticamente, limpe tudo de vez em quando e force os desenvolvedores a lidarem com um ambiente limpo. Se você fez backups corretamente, e eles estão se comprometendo com o VCS e seu script de configuração é perfeito, então eles nunca devem ter problemas.

O uso de máquinas virtuais seria ideal, mas, dependendo do seu desenvolvimento, talvez não seja necessário.

Você mencionou que tem problemas com o caminho de inclusão do php nos scripts da linha de comandos ? Por que você simplesmente não usa a opção - php-ini do php cli option para especificar um arquivo de configuração que é individualizado para cada ambiente / desenvolvedor com seu caminho de inclusão definido conforme necessário?

    
por 07.08.2009 / 02:18