Ich habe eine Anwendung, die an mehreren Orten installiert ist. Ich möchte ein Skript erstellen, das das Upgrade der Anwendung durchführt. Sowohl MySQL-Tabellen als auch die eigentliche PHP-Anwendung müssen aktualisiert werden.
Da ich das zum ersten Mal mache, frage ich mich, welchen Weg ich gehen soll: das Skript in PHP oder in Bash erstellen? Was sind die Vor- und Nachteile der beiden Alternativen?
Auf lange Sicht kann es sein, dass man das Upgrade für die Anwendung auch von der eigentlichen Anwendung aus durchführen kann, aber in diesem ersten Schritt werde ich es von der Shell aus ausführen.
Ich verwende Linux (CentOS), Apache, MySQL
Da ich Informationen aus einer Datenbank in das Skript einfügen werde, verwende ich PHP.
Später kann dieses Skript recht leistungsfähig sein, daher denke ich, dass es einfacher ist, es in PHP als in Bash zu erstellen.
Antwort1
Ich schlage vor, Sie verwenden ein Tool wieRexoderCapistranofür diese Aufgaben. Mit diesen Tools können Sie Bereitstellungsanweisungen schreiben, die auch von anderen verwendet werden können.
Antwort2
Sie sollten unbedingt angeben, welche Art von Upgrade Sie in PHP durchführen möchten. Im Allgemeinen ist es sehr einfach, Anwendungen auf mehreren Servern mit Bash zu verwalten, indem Sie direkte SSH-Befehle ausgeben.
Wenn Sie beispielsweise sicher sind, dass Sie SVN in einem Verzeichnis ausführen möchten, können Sie Folgendes verwenden:
ssh [email protected] 'svn up /path/to/php/app'
Und um die MySQL-Tabellen zu aktualisieren, können Sie den MySQL-CLI-Client verwenden
ssh [email protected] 'mysql -e "[SQL STATEMENT]"'
Antwort3
Alternativ können Sie verwendenKochoderMarionettefür solche Sachen. Damit können Sie ganz einfach von einem zentralen Knoten aus bereitstellen, basierend auf den Kochbüchern (für Chef) oder Rezepten (für Puppet), die Sie schreiben.