私は jruby rails アプリを持っていて、gem の依存関係管理にバンドラーを使い始めたところです。展開戦略について人々の意見を聞くことに興味があります。ドキュメントによるとbundle package
、宝石をローカルにパッケージ化するので、サーバーでそれらをフェッチする必要はありません (そして、ウグイスはデフォルトでこれを行うと信じています)。コード (この場合は WAR ファイル) ははるかに大きくなります。
私の好みは、コードがサーバーにコピーされた後、すべての依存関係をサーバーに直接フェッチする MVN セットアップを模倣することです。これが私が考えていることです、すべてのコメントは大歓迎です:
Step1: war ファイルをビルドし、サーバーにコピーする
Step2: サーバーで war をアンパックし、mvn で Java の依存関係をフェッチする Step3: Bundler を使用して Gem deps をフェッチする (これらはどこに配置する必要がありますか??)
* Step 3 はステップです。の上。bundle install
特定のターゲットを念頭に置いて実行しますか??
ステップ 4: Tomcat を再起動します
繰り返しますが、ここでの私の推論は、展開時に依存関係をコードから分離したいということです。また、アプリ ユーザーのホーム ディレクトリにインストールするのではなく、すべての gem 依存関係をアプリ自体に配置して、含まれるようにしたいと考えています (繰り返しますが、これが Bundler のデフォルトであると考えています)。