Ich muss meinen php / html / css / etc-Code auf mehreren Servern bereitstellen und sehe mir meine Optionen für Software an, die eine einfache und sichere Bereitstellung auf mehreren Servern ermöglicht.
Hilft auch, wenn es in mein SVN eingebunden werden könnte.
Irgendwelche Vorschläge?
Capistrano ist ziemlich praktisch dafür. Es gibt ein paar Leute, die es benutzen ( 1 , 2 , 3 ) für die Bereitstellung von PHP-Code, wie durch Schnellsuche .
Wenn Sie Redhat oder Debian verwenden, sollten Sie Ihren Code in RPMs oder Debs verpacken. Dann baue ein yum oder dpkg Repository und lege deine Pakete dorthin. Sie können dann die Paketverwaltung Ihres Systems verwenden, um Upgrades / Rollbacks usw. durchzuführen. Sie können sogar die Puppe verwenden, um den Vorgang zu automatisieren.
Wenn Sie Subversion binden möchten, können Sie für jede neue Version eine Verzweigung erstellen. Verwenden Sie die Commit-Skripts zum Erstellen der RPMs, wenn ein neuer Zweig in einem Verzeichnis angezeigt wird.
Ich werde Capistrano Zweiter. Es ist unglaublich leistungsstark und flexibel. Unser aktuelles Projekt verwendet Capistrano für die Bereitstellung auf verschiedenen Servern sowie auf mehreren Servern. Wir übergeben dem cap-Befehl zwei Argumente: 1) Der Name der Menge der maschinenspezifischen Konfigurationsoptionen, die ausgeführt werden sollen 2) der Name der auszuführenden Aktion
sieht dann so aus:
%Vor%oder
%Vor%Natürlich ist der Standard-Anwendungsfall - die Bereitstellung auf einer großen Anzahl von Rechnern gleichzeitig - ein Kinderspiel mit Capistrano UND Sie müssen Capistrano nicht auf den Rechnern installieren, auf denen Sie bereitstellen. Alles in allem, leckere Technologie.
Ich habe Automated Build Studio zuvor für eine ähnliche Aufgabe verwendet. Es gibt Ihnen eine Menge Flexibilität in was Sie tun können.
Ich stimme zu - setze deinen Svn-Baum auf und benutze rsync über ssh, um den Baum an die entfernten Orte zu kopieren. rsync macht es schnell und effizient und kopiert nur Änderungen statt vollständige Dateien.
Sie möchten Ihre Svn-Struktur in ein Verzeichnis exportieren und dann von dort zur Verzeichnisstruktur des Remote-Hosts rsync.
Sie können auch kwateeSDCM verwenden, das kostenlos ist und eine Remote-Installation über ssh ermöglicht. Darüber hinaus können Sie die serverspezifische Konfiguration von einem zentralen Standort aus verwalten und Upgrades problemlos durchführen.
Ich fand, dass capistrano nach der Einrichtung sehr einfach zu bedienen ist. Die Konfigurationsdatei kann anfangs für kompliziertere Umgebungen etwas verwirrend sein, wird aber bald interessant. Ich stelle auf 14 Servern in der Produktion bereit. Ich verwende auch mehrere Umgebungen für die Bereitstellung auf einem Staging-Server. Eine Besonderheit, es gibt einen Fehler in Ruby, der die parallele Bereitstellung unterbricht, aber seriell nicht so schlecht mit SVN-Exporten ist.
Capistrano Setup ist einfach zu kompliziert. Wir fanden heraus, dass KwateeSDCM sehr einfach mit einer einfachen Webschnittstelle und ohne Skripting zu verwenden war. Wir haben unsere Deployment-Konfiguration in kürzester Zeit für die Dev- und QA-Konfiguration auf Windows- und Linux-Servern fertiggestellt.
Tags und Links php deployment