Ich frage mich, der beste Weg, eine alte Website in eine neuere Schiene App zu integrieren.Wie kann ich eine große Anzahl von statischen HTML-Dateien zur Rails-App hinzufügen, ohne den Entwicklungszyklus zu verlangsamen?
Das Vermächtnis Website:
- Hat 21.000 kleine Textdateien mit minimalem Markup, die miteinander verbunden sind.
- Summen ~ 220MB
- Hat eine Root-Seite in einem Verzeichnis befinden und zu viele Unterverzeichnisse verknüpft ist
Ich möchte den alten Standort in meine Schienen-app-Ordner enthalten, aber ich bin besorgt dass es bei jeder Bereitstellung einen viel längeren Entwicklungszyklus bedeutet. Ich verwende capistrano und mein erster Gedanke ist, den Ordner mit Old Site in das freigegebene Verzeichnis auf dem Produktionsserver zu platzieren und symbolisch entsprechend zu verknüpfen. Dieser Ansatz erscheint mir unerwünscht, da meine Ressourcen für Neue App an mehr als einem Speicherort aufgeteilt werden. Der Vorteil könnte ein viel schnellerer Debug/Bereitstellungszyklus sein.
Derzeit habe ich keine Pläne, die Old Site Dateien zu ändern. Irgendwann könnte sich das ändern.
Ich war beeindruckt, wie schnell mein ansonsten leichtgewichtiges Projekt eingesetzt wird. Im Moment mache ich häufige Änderungen und wiederhole den Code/Deploy-Zyklus oft. Ich möchte vermeiden, das unnötig zu verlangsamen.
Gibt es eine Best Practice für diese Art von Sache?
Ich bin mir nicht sicher, warum Sie sich Sorgen machen sollten, dass dies Ihren Entwicklungszyklus verlangsamt. Sie können Ihrer Rails-App und ihrem Git-Repository so viele statische Daten hinzufügen, wie Sie möchten, und es gibt keine Strafe oder Verlangsamung. – meagar
Nicht verschämt sein, aber ist das wahr? Die Bereitstellung erfolgt jetzt in etwa 25 Sekunden. Würde das Hinzufügen von 21.000 Textdateien diese Metrik nicht beeinflussen? –
Deployment und Entwicklung sind zwei völlig verschiedene Dinge. Ihre Entwicklungsumgebung ist nicht von statischen Dateien auf der Festplatte betroffen. Ihr Bereitstellungsvorgang * kann * sein, wenn Sie alle diese Dateien bei jeder Bereitstellung über das Netzwerk kopieren. – meagar