Como fazer a implantação para o aplicativo php

Atualmente estou desenvolvendo um aplicativo php para uma organização de caridade e agora estou no estágio de definir as práticas de implantação.

Nosso aplicativo está usando o Zend Framework e o Doctrine. O aplicativo será distribuído para diferentes servidores, cada um com um arquivo de configuração diferente. As máquinas são Windows e Linux (mas todas com o Apache e php 5.2+).

A fonte está disponível em um repositório subversion e queremos construir e armazenar nossos pacotes em um servidor Linux.

De preferência, queremos que o processo de atualização seja tão fácil quanto executar um comando update no diretório do aplicativo, em que o comando update também atualiza o banco de dados (com os scripts doutrinários) e garante as dependências dos frameworks. Este comando de atualização deve ser um comando na máquina (não podemos ssh neles). De preferência, temos a opção de baixar uma nova versão ou fornecer um tarball já baixado com uma nova versão. (mas apenas o download ou apenas o tarball também está ok)

Os pacotes com instalações e atualizações (novas versões) também são preferencialmente construídos por um único comando.

Eu tenho lido um pouco sobre phar's, pêra, phing, mas não tenho idéia de qual é a melhor maneira de fazer isso. Um servidor de integração contínua não é realmente necessário, mas penso em implantar ambientes de teste automaticamente depois de construir uma versão.

Inicialmente, apenas a atualização do aplicativo php tem que ser muito fácil, preenchendo inicialmente um arquivo de configuração quando a instalação pode ser feita manualmente.

questionAnswers(6)

yourAnswerToTheQuestion