Ja, Sie können Meteor einfach ausführen, indem Sie die meteor
CLI in Ihrem Quellordner aufrufen, aber es gibt mehrere Dinge, die tatsächlich das Erstellen und Bereitstellen tut.
Zuerst im "Entwicklungsmodus" ausgeführt wird der Code ständig nach Änderungen im Code für die erneute Bereitstellung suchen. Dies beansprucht Ressourcen ... Ressourcen, die bei der Bereitstellung auf AWS oder anderen Cloud-Diensten echtes Geld kosten, ganz zu schweigen davon, dass Ressourcen keine echte Arbeit mehr leisten.
Darüber hinaus optimiert der Build den Code, läuft Minimizer, Transpilers, etc. Dies geschieht in Echtzeit im Dev-Modus, die wiederum Ressourcen verbraucht.
Schließlich läuft im Dev-Modus eine interne MongoDB, wie bei einer vollständigen MongoDB-Installation. Die vollständige Installation wird, soweit ich weiß, die "eingebettete" Version übertreffen, und Sie können sie auf einem separaten Server ausführen, was wiederum Ressourcen freisetzt.
Abgesehen von der Leistung ist automatisiertes Build und Deploy dem manuellen Kopieren/Einfügen vorzuziehen. Jedes Mal, wenn ein Mensch etwas manuell einrichten muss, ist es an einem bestimmten Punkt nicht mehr möglich. Wir sind auf lange Sicht nicht gut in sich wiederholenden Aufgaben. In meinen 17 Jahren als professioneller Entwickler war ich Teil von MANY Installationen, sowohl in der Produktion als auch in der Produktion. Ich kann Ihnen sagen, dass die automatisierten Installationen WAY weniger wahrscheinlich im Laufe der Zeit über die Fleisch-Installationen fehlschlagen (Installationen, die eine Person benötigen, um sie tatsächlich zu tun). Wir tendieren dazu, die gleichen Schritte nicht immer wieder zu wiederholen, und als Ergebnis sind die Dinge jedes Mal anders.
In meiner persönlichen Meteor-Entwicklung habe ich sogar automatisierte Continuous Integration Server eingesetzt, um ALLE meine Implementierungen sowohl für Dev als auch für Prod durchzuführen. Ich richte die Skripte einmal ein, richte meinen CI-Server auf meinen Repo und überwacht ihn auf Änderungen. Wenn ich Code aktualisiere und zu meinem GIT Repo schiebe ... BOOM! Der CI-Server übernimmt, zieht den neuen Code herunter, baut ihn auf, testet ihn und wenn alles gut aussieht, entfaltet er ihn. MUP hat dazu beigetragen, diesen Prozess zu automatisieren, da es eine Menge schweres Heben handhabt. Und wenn etwas beim Build oder bei der Bereitstellung fehlschlägt, erhalte ich eine E-Mail-Benachrichtigung und gehe einfach durch die Logs, um zu sehen, was passiert ist. Ich benutze den neuesten experimentellen MUP-Build, der über Docker-Images bereitgestellt wird. Das ist nett, weil ich jetzt jederzeit Server zu meinem Cluster hinzufügen kann.
Und da ich bereits herausgefunden habe, wie man ein Projekt über MUP und Jenkins (mein CI-Server) automatisiert, ist es meist Copy/Paste und einige Configs für meine anderen Projekte zu aktualisieren.
Ich habe vergessen zu erwähnen: MUP und MUPX sind nicht die einzigen Tools, die Sie verwenden könnten, um Ihre Bereitstellung zu automatisieren, BTW. Sie sind nur am einfachsten für Meteor, IMHO, einzurichten, da sie Meteor "kennen". Andere in Betracht zu ziehen wären Grunt, Gulp und sogar Webpack, um nur einige zu nennen. Grunt und Gulp sind mehr Scripting-Tools, während Webpack für mich mehr wie Meteors eigene Installations-/Build-API funktioniert, indem es versucht, Dinge so zu verpacken, als würde man einfach ein Skript ausführen. – CodeChimp
Vielen Dank für Ihre Antwort. Könnten Sie bitte einige Anweisungen oder Links dazu geben, wie dies zu erreichen ist "CI-Server übernimmt, zieht den neuen Code herunter, baut ihn auf", Ich meine, wie man den CI-Server für die Aktualisierung der App einrichtet. Das war einer der Gründe, warum ich den "Build" -Befehl vermied. Ich hatte keine Ahnung, wie ich Änderungen an der App vornehmen könnte, nachdem alles minimiert wurde. – Robert
Nun, ich benutze Jenkins, aber es gibt viele CI-Server-Apps da draußen. In meinem Fall habe ich einen Polling-Trigger eingerichtet, um einen bestimmten Zweig meines GIT-Repos zu beobachten, dann benutze ich einen einfachen SSH-Build-Schritt, der MUP aufruft, um den Build auszuführen. Ich habe 2 MUP Einstellungsdateien, eine für Dev und eine für Prod. Ich habe auch einen Build-Schritt, der Sonar für automatische Code-Überprüfungen ausführt. All dies ist online gut dokumentiert und ganze Bücher wurden geschrieben. Wenn Sie eine Beratung planen, kann ich Ihnen einen solchen vollautomatischen Prozess empfehlen. – CodeChimp