Ich habe ein paar Entwicklungsmaschinen, auf denen ich meine Änderungen festschreibe, und einen Produktionsserver, auf dem ich meine Symfony-Anwendung bereitgestellt habe. Derzeit ist mein Bereitstellungsprozess ist langwierig und besteht aus den folgenden Workflow:Verwenden von rsync zum Bereitstellen von Codeaktualisierungen für die Symfony-Anwendung
- Bestimmen Sie die Dateien in der letzten Änderung begehen:
svn log -v -r HEAD
- FTP diejenigen Dateien auf den Server als regulärer Benutzer
- Kopieren Sie diese Dateien als root manuell an ihr Ziel, und ändern Sie bei Bedarf, da die Datei neu ist, den Besitzer in den Apache-Benutzer
Der lokale Benutzer hat keinen Zugriff auf die Apache-Verzeichnisse, weshalb ich root verwenden muss. Ich bin immer besorgt, dass etwas schief gehen kann, entweder aufgrund einer vergessenen Datei während des FTP oder der Kopie in das Apache src-Verzeichnis.
Ich dachte, dass ich stattdessen zusammen mit composer.json
auf den Server als der reguläre Benutzer dann kam mit einem Skript rsync alle Dateien zu synchronisieren, um die gesamten Symfony app/
und src/
Verzeichnisse FTP sollte.
New Workflow wäre:
- FTP app/src/composer.json an den Server im Projektverzeichnis des lokalen Benutzers
- Führen Sie das Sync-Skript, um die Dateien
- klar, dass der Cache zu synchronisieren
Ist das eine gute Lösung oder gibt es etwas Besseres für Symfony-Projekte?
This question ist ähnlich und gibt ein Beispiel für die Rsync, aber die Vor- und Nachteile dieser Methode werden nicht diskutiert. Idealerweise würde ich gerne die Methode wählen, die am zuverlässigsten und am einfachsten zu installieren ist, ohne dass eine neue Software installiert werden muss.
ich durch einen Blick hatte, und ich werde wahrscheinlich mit einem der php gehen Deployment-Tools, aber Ihre Informationen haben mir geholfen, zu entscheiden, so dass ich dies als die richtige Antwort markiert. –