Capistranoでデプロイした時にunicornが再起動しなかった話
capistranoを使用し、ec2にデプロイした時に
Bundler::GemfileNotFound
というエラーが出てしまい、unicornの再起動がうまくいかない時の対処法。
Gemfileは存在しているのだが、
Gemfile読み取り時に過去のバージョンのディレクトリのGemfileを見ようとし
そのディレクトリはすでに存在しないので、エラーが起きてしまう。
config/unicorn/production.rbまたはstaging.rbに以下を記述
before_exec do |server| ENV['BUNDLE_GEMFILE'] = "ec2内のGemfileまでのパス" end
すでにこの問題が起きてしまっている場合は、
再度デプロイしても失敗してしまうので、
一度、unicornを手動で停止または、再起動しなくてはならない。