はい、ソースフォルダにmeteor
CLIを呼び出すだけで流星を実行することはできますが、実際にビルドして展開することは多々あります。
最初に、「開発モード」で実行すると、コードは常に再デプロイするコードの変更を探します。これは、AWSや他のクラウドサービスのようなものにデプロイされたときに実際の金額を必要とするリソースを取り込みます。
これに加えて、ビルドではコードの最適化、ミニマイザ、トランスパイライザの実行などが行われます。これは、devモードで実行されているときにリアルタイムで実行されます。
最後に、devモードは、完全なMongoDBインストールに加えて、内部のMongoDBを実行します。私が知っている限り、フル・インストールは「組み込み」バージョンを上回ります。また、別のサーバーで実行することもできます。これにより、リソースが解放されます。
パフォーマンスは別として、手動によるコピー/貼り付けよりもパフォーマンスが優れています。人間が何かを手動でセットアップしなければならない時はいつでも失敗することになります。私たちは、長時間にわたる繰り返し作業をうまくやっていません。プロの開発者としての私の17歳以上の私は、プロダクションと非プロダクションの両方で、多数のインストールの一部となっています。私は、自動化されたインストールは肉のインストール(実際にそれらを行う人を必要とするインストール)以上の時間をかけて失敗する可能性が低いことを伝えることができます。私たちは何度も何度も同じことをやっていない傾向があり、その結果、毎回違うものがあります。
私の個人的なMeteor開発では、自動化されたContinuous Integrationサーバーを使用して、DevとProdの両方のすべての配備を行うことにもなりました。私はスクリプトを一度セットアップし、CIサーバを自分のリポジトリに向け、変更を監視します。コードを更新してGITリポジトリにプッシュすると...ブーム! CIサーバーが引き継ぎ、新しいコードをプルダウンしてビルドし、テストし、うまくいけばそれを展開します。 MUPは、多くの重量物を扱うため、プロセスを自動化する手段となりました。ビルドやデプロイで何かが失敗した場合、私は電子メール通知を受け取り、ログを精査して何が起こったかを確認します。 Dockerのイメージを使ってデプロイする最新の実験的なMUPビルドを使用しています。これは、いつでも私のクラスタに簡単にサーバーを追加できるためです。
MUPとJenkins(私のCIサーバ)を使って1つのプロジェクトを自動化する方法をすでに知っているので、それは主にコピー/ペーストして、他のプロジェクトの設定を更新します。
私は忘れていました:MUPとMUPXは、導入を自動化するために使用できる唯一のツールではありません。彼らは流星を "知って"いるので、メテオ、IMHOのためにセットアップするのが一番簡単です。他にもGrunt、Gulp、さらにはWebpackなどがあります。 GruntとGulpはより多くのスクリプトツールですが、WebpackはMeteor独自のインストール/ビルドAPIのように機能し、単純にスクリプトを実行するだけで動作します。 – CodeChimp
ありがとうございます。この「CIサーバーが引き継ぎ、新しいコードをプルダウンしてビルドする」方法を説明するいくつかのリンクを提供してください。 私は、アプリケーションをアップデートするためにCIサーバーをセットアップする方法を意味します。 これは実際に私が "ビルド"コマンドを避けていた理由の1つでした。私はすべてが縮小された後にアプリを変更する方法を知らなかった。 – Robert
まあ、ジェンキンスを使っていますが、そこには多くのCIサーバアプリケーションがあります。私の場合は、GITリポジトリの特定のブランチを見るためにポーリングトリガを設定してから、MUPを呼び出してビルドを実行する単純なSSHビルドステップを使用します。私は2つのMUP設定ファイルを持っています、DevとProdのためのものです。私はまた、自動コードレビューのためにSonarを実行するビルドステップを持っています。このすべては、オンラインでかなりよく文書化されており、書籍全体が書かれています。コンサルティングを計画している場合は、このような完全自動化プロセスを強くお勧めします。 – CodeChimp