Sagen Sie, ich habe eine eigenständige Dancer-Webapp. Ich kann es auf einem Host bereitstellen, indem ich einen make dist ausführe, einen Tarball erhalte und ihn dann über cpanm oder ähnliches installiere. Ich kann jedoch nicht feststellen, wie diese Bereitstellung gesteuert werden kann. Wenn ich einfach die App funktioniere, dann installiere die Anwendung woanders, es scheint nur die Module der Anwendung zu installieren. Das Anwendungsskript, die verschiedenen HTML-Dateien und Vorlagen, die Umgebungskonfigurationsdateien werden jedoch nicht im lokalen Dateisystem installiert.
Was ist der richtige Weg von webapp auf System a - & gt; Tarball - & gt; webapp auf System b?
Bearbeiten:
Entschuldigung, ich hätte klarstellen sollen, dass ich verstehe, dass ich das ganze manuell machen kann. Ich bin einfach überrascht, dass es keine schnelle Möglichkeit gibt, eine Installation mit ein paar Befehlen auszuführen, oder in der App selbst anzugeben, wo die verschiedenen Komponenten installiert werden können.
Da ich cpanm zum größten Teil verwende, vereinfacht das die Dinge auf System B. Ich kann es einfach in ein Verzeichnis extrahieren, ändern Sie es, führen Sie 'cpanm' aus. und es installiert Abhängigkeiten und die Module der App in der system lib.
Dies führt jedoch dazu, dass die App-Module sowohl in & lt; & gt; / lib / als auch im System perllib-Installationspfad vorhanden sind. Es bedeutet auch, dass der Benutzer etwas über Perl verstehen muss.
Ich denke, ich versuche nur herauszufinden, ob sich die Dinge seit Was ist das beste System für die Installation einer Perl-Web-App? wurde vor drei Jahren gefragt. Mit all den Fortschritten im modernen Perl State of the Art scheint es, als wäre dies die Art von Problem, das inzwischen behandelt worden wäre.
Hier ist ein Weg. Erstellen Sie Ihre App auf System-a:
%Vor%Auf System-b:
%Vor%Bei diesem Ansatz wird Ihre App in / opt / Your-App installiert. Alle Ihre Konfigurationsdateien, Skripte usw. sind in einem Ordner enthalten.
Etwas, das Sie in Betracht ziehen sollten, ist, all Ihre Deps mit Ihrer App zu bündeln. Sie würden dies auf System-a tun. (Beachten Sie, dass dies System-a und System-b benötigt, um die gleiche Architektur zu haben.) Eine einfache Möglichkeit, Ihre Deps zu bündeln, ist mit App :: cpanminus:
%Vor%Wenn Sie dann die App starten, würden Sie Folgendes tun:
%Vor%Dieser Ansatz macht es so, dass Sie nichts auf System-b installieren müssen. Sie können Ihre App einfach extrahieren und ausführen.