Estou tendo um aplicativo que está instalado em vários lugares. Gostaria de criar um script que realize o upgrade da aplicação. Ambas as tabelas mysql e o aplicativo PHP real precisam ser atualizados.
Como esta é a primeira vez que faço isso, estou me perguntando que caminho devo seguir; criando o script em PHP ou em Bash? Quais são os prós e os contras das duas alternativas?
No longo prazo, pode ser que seja possível fazer a atualização do aplicativo a partir do aplicativo real, mas nesta primeira etapa irei executá-lo a partir do shell.
Estou usando Linux (CentOS), Apache, MySQL
Como vou injetar informações de um banco de dados no script, vou com PHP.
Posteriormente, este script pode ser bastante competente, então acho que é mais fácil fazê-lo em PHP do que em Bash.
Responder1
eu sugiro que você use uma ferramenta comoRexouCapistranopara essas tarefas. Com essas ferramentas você pode escrever instruções de implantação que também podem ser usadas por outras pessoas.
Responder2
Você realmente deve fornecer informações sobre que tipo de atualização fará no PHP. Em geral, será muito fácil gerenciar aplicativos em vários servidores usando bash, emitindo comandos SSH diretos.
Por exemplo, se você tem certeza de fazer o SVN em um diretório, você pode usar algo como isto
ssh [email protected] 'svn up /path/to/php/app'
E para atualizar as tabelas MySQL, você pode usar o cliente MySQL cli
ssh [email protected] 'mysql -e "[SQL STATEMENT]"'
Responder3
Como alternativa você pode usarChefe de cozinhaouFantochepara essas coisas. Com eles, você pode implantar facilmente a partir de um nó central com base nos livros de receitas (para chef) ou receitas (para fantoches) que você escreve.