-1

私はSpreeアプリケーションを持っており、それとともにたくさんのgemも維持しています。

を実行するたびに、gem で行われた変更を反映させるために、実行しcap deployなければならないことがわかります。cap deploy:stopcap deploy:start

これは明らかにユーザーにとって非常に混乱しているため、私はこの権利を持っていますか?

私のセットアップは、主に Capistrano、Unicorn、および Nginx に関する Railscasts のエピソードに従っています。

アップデート:

少し調べたところ、これを に含めていないことに気付きましたunicorn.rb

before_exec do |server|
  ENV['BUNDLE_GEMFILE'] = "#{root}/Gemfile"
end

これが原因でしょうか?

4

1 に答える 1

2

自動バンドルを行うには:

  • require 'bundler/capistrano'カピストラーノ構成ファイルで行う必要があります
  • cap deployオプションを使用して実行しないでくださいno_release

トラブルシューティングを行うには、最初にdeploy:finalize_updateカピストラーノで実行されていることを確認する必要があります。実行before "deploy:finalize_update"してコンソールにデバッグ テキストを出力するだけのシナリオを作成できます。問題が finalize_update の前または後に発生したかどうかがわかります。

于 2013-08-03T08:54:21.490 に答える