Dies ist hauptsächlich eine Frage zu PHP. Ich frage mich: Wie stellen Sie sicher, dass alle erforderlichen Bibliotheken mit Ihrer Anwendung verpackt sind, wenn Sie eine Bereitstellung auf (Produktions-) Servern durchführen?Wie behandeln Sie Bibliotheksabhängigkeiten während der Bereitstellung mit PHP?
Ein konkreteres Beispiel: Ich habe eine App, die auf Zend Framework läuft und jedes Mal, wenn ich die Anwendung auf einen Server rolle, erstellt der Deployment-Prozess eine neue "Installation" auf diesem System. Daher muss ich das Zend Framework zusammen mit meiner Anwendung bündeln und dann die Dateien an den richtigen Stellen zusammen kopieren (es wird automatisch gemacht). Zurzeit verwende ich eine svn: externals-Definition, um die Dateien während der Bereitstellung aus dem SVN-System von Zend zu holen, aber ich möchte mich nicht auf diesen SVN verlassen, und ich möchte auch nicht mit jeder Bereitstellung Traffic auf externe SVNs legen .
In der Java-Welt bin ich an Maven gewöhnt, der solche Sachen mit zentralen Artefakt-Reposituren behandelt. Ich weiß, dass es eine Maven4PHP-Version gibt, allerdings suche ich eher nach einer PHP-basierten Lösung. Außerdem glaube ich nicht, dass PEAR ein guter Weg ist, da es nicht wirklich meine Anforderung erfüllt, die Anwendung (inkl. Libs) in einem einzigen Deployable zu bündeln.
Gibt es bereits ein Tool, das mir nicht bekannt ist? Oder hast du eine großartige Technik, die ich kennen sollte?
Vielen Dank für Ihre Hilfe!
Michael
Ja, ich weiß, Phing! Gibt es eine Out-of-the-Box-Aufgabe, um Abhängigkeiten aufzulösen? Oder geht es darum, meine eigene Aufgabe zu schreiben? Vielen Dank! –
@Michael Ich handle Abhängigkeiten mit Phing mit einem einfacheren Ansatz. Es ist vielleicht nicht so robust wie eine Abhängigkeitsaufgabe wahrscheinlich sein sollte, aber ich habe eine Reihe von phing-Helfern, die einfache Build-Skripte sind, die für die Import-Aufgabe entworfen wurden. In meinem Projekt-Helfer definiert sie eine resolve-deps-Aufgabe, die eine foreach ist Das führt eine Phing-Aufgabe zu einem externen Erstellungsskript mit Eigenschaften, die die Abhängigkeit definieren, aus. –