Pergunta

Atualmente usamos uma configuração enrolado à mão e script de configuração e um script de integração contínua enrolado à mão para construir e implementar nosso aplicativo. Estou olhando para formalizar esta um pouco com um sistema de terceiros projetados para esses fins.

Eu olhei em Phing antes, e eu entendo isso é basicamente como Ant. Mas, minha experiência Ant é um pouco limitado para que não me ajuda muito. (Maior parte do trabalho Java eu ??fiz foi apenas implementado como um arquivo jar).

Eu olhei em Cruise Control antes, e eu entendo que phpUnderControl é um plug-in para o CC. Mas, Phing diz que também trabalha com CC. Portanto, não estou claro sobre a sobreposição aqui. Preciso tanto Phing e phpUnderControl ao trabalho com CruiseControl, ou são mutuamente exlclusive?

O que eu preciso é exatamente algo que pode:

  • Confira fonte do SVN
  • Instale o banco de dados a partir do arquivo SQL
  • Gerar alguns arquivos de configuração local de uma série de modelos e um arquivo ini
  • Executar todos os nossos testes de unidade (atualmente ST, mas fácil de converter para PHPUnit) e enviar um e-mail para a equipe de desenvolvimento se quaisquer testes quebrar (com um rastreamento de pilha é claro)
  • Gerar documentação da API para o aplicativo e colocá-lo em algum lugar
  • Executar um relatório de cobertura de teste

Agora, nós temos apenas sobre tudo isso de uma forma ou de outra. Mas, seria bom ter tudo automatizado e agrupados em um único processo.

Foi útil?

Solução

phing é muito bonito formiga escrito em PHP, onde phpUnderControl adiciona suporte para projetos PHP para CruiseControl e usos phing ou formiga no backend para analisar o arquivo build.xml e comandos executados.

Eu apenas configurar CruiseControl e phpUnderControl e tem sido muito bom trabalhar. Ele verifica o meu SVN, executa-lo através phpDocumentor, PHP_CodeSniffer e PHPUnit sempre que fazemos um check-in. Uma vez que tudo é baseado fora do arquivo build.xml você pode executar praticamente qualquer software que você quer com ele.

Outras dicas

Eu tenho certeza que muita gente vai dizer isso pelo tempo que eu digitei isso, mas ...

eu sei que não é PHP, mas estamos encontrando Capistrano apenas o trabalho para esse tipo de coisa. É realmente uma excelente peça de software.

Estamos usando Phing, eo custo para configurá-lo tem sido muito baixo; é realmente fácil de aprender, mesmo se você não sabe ANT. Eu tive experiências muito ruins com CruiseControl (instabilidade - a descer aleatoriamente) - então eu como a simplicidade de Phing. Além disso, é facilmente extensível usando PHP (no caso de ter uma tarefa personalizada que eles não suportam fora da caixa).

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