Pergunta

Em um futuro próximo eu vou obter algumas 2 semanas para mover e melhorar o nosso ambiente de desenvolvimento no trabalho.

Estamos principalmente desenvolver projeto de um grande PHP / MySQL com 2-10 desenvolvedores.

No momento, temos um servidor dev, rodando Apache com mod_userdir, cada dev tem um / public_html pasta em sua casa (samba-acessível). Para VCS e Gestão de Projectos / IssueTracking usamos Subversion e Trac. Testing / Implantação toma algumas etapas manuais, não muito automação lá.

Meus planos para a nova configuração incluem as seguintes alterações para o material existente:

  • Integração Contínua
  • Integrar CI para Trac, criar / encontrar um plugin que oferece para iniciar ações após o sucesso ou o fracasso do progresso de construção (implantação ou seja, a encenação / live)
  • Criar implantação de scripts automatizados (um clique)
  • Integrar ( doxygen ) -Documentação para o acúmulo de progresso e de alguma forma em Trac
  • Adicionar
  • Adicionar outra camada de monitoramento (nagios locais monitorando nossa produção-nagios sistema)
  • Adicionar um nightly executando o MySQL Replication Escravo, que então pode pelos desenvolvedores ser usado para o material de teste em dados up2date
  • Analise os planos de backup
  • Documento como e por que eu configurar tudo dessa maneira

Você tem alguma dicas / dicas que pode ser melhorado ainda mais? Qualquer coisa que devemos fazer de uma maneira diferente?

Foi útil?

Solução

Gostaria de ter certeza de que você escreve seus scripts de implantação automatizados de tal forma que eles podem ser usados ??por sua ferramenta de integração contínua. Hudson (e CruiseControl eu suspeito) basicamente embrulhar esses scripts e fornecer um front-end bacana.

Hundson é fácil de instalar e vem com um Trac plugin de , SVN, CVS, plugins Git e um Doxygen plugin e outros para quase tudo você pode pensar. Aviso: Eu não usei todos esses plugins e eles não podem fazer exatamente o que você quer ...

Se você tem um orçamento para software CI, em seguida, TeamCity é bem olhar uma pena (ou você está usando Bitten ?).

Você tem uma grande oportunidade, então boa sorte!

Outras dicas

A minha única sugestão não seria gastar muito tempo no

  • Documento como e por que eu configurar tudo dessa maneira

Este é o último item na minha lista para melhorar o nosso ambiente de desenvolvimento e eu ainda não tiver feito isso.

Cada parte é sempre a ser modificado ou melhorado para nos fornecer uma melhor funcionalidade ou utilização mais fácil. Gostaria de sugerir tentando manter o "porquê" como comentários como perto de onde você realmente implementá-lo como puder. Este é o único lugar que alguém a mudar seu sistema irá precisar.

Talvez também um diagrama grande mostrando links e nomes de servidores físicos, mas diferente do que eu encontrei a documentação a ser um aborrecimento.

Felicidades

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